Couvre-feu chatière Sure Petcare

Je viens de me rendre compte que Sure Petcare a modifié son API pour permettre plusieurs plages de couvre-feu (ajout d’un bouton + dans l’app IOS et Android).
Hélas cela va m’obliger à revoir cette partie du plugin.

Question couvre feu …
je débute sur jeedom et je voulais automatiser les heures de couvre feu du chat par rapport au heure du soleil

calculer les heures théorique que je veut appliquer je sais faire par contre les appliquer a ma chatière par scenario ou autre
je vois pas comment je peut faire

une piste voir un script a me conseiller ??

help me

C’est une question intéressante car pour le moment ce n’est pas possible : les heures de début et de fin du couvre feu sont dans la configuration de l’équipement et il n’est pas possible de les changer par exemple dans un scénario.
Mais il existe un moyen de s’en sortir en faisant non pas un vrai couvre-feu (au sens des couvre feu définis dans la chatière) mais ce qu’on pourrait appeler un « couvre-feu Jeedom »
Pour cela il suffit de parcourir l’ancien forum et de chercher les posts qui parlent d’automatiser les ouvertures/fermetures de volets en fonction des heures de lever et couché du soleil par un scénario.
La différence c’est qu’au lieu de commander l’ouverture ou la fermeture d’un volet on va utiliser la commande de la chatière Autoriser Entrée au début du couvre-feu et la commande Autoriser Tout à la fin du couvre-feu.
C’est en fait plus souple que les couvre-feu de la chatière car on peut compliquer le scénario par exemple pour tenir compte de l’absence ou pas des occupants de la maison dans les horaires du couvre-feu.
Si tu n’y arrive pas seul explique ce que tu veux comme couvre-feu en précisant ce que tu utilise pour les heures du soleil et je t’aiderai.

Bonjour
je savais pas que c’était pas possible alors je l’ai fait…

bon j’ai un peut saloper la classe en récupérant l’information que renvois la chatière automatiquement vers la configuration (ca devrait être une infos de la commande je crois) … ensuite j’ai fait un scénario qui envoi les heure recalculer automatiquement tous les lundis matin a 3h …
bref ca fonctionne … maintenant il faut que j’arrive a modifier le widget pour qu’il m’affiche les heures programmer quand la chatiére est en mode 4 (couvre feu)

En fait il faut que je refasse toute la partie du plugin qui concerne les couvre-feu car maintenant si tu regarde l’app IOS ou Android de Sure PetCare il est possible de définir plusieurs plages de couvre-feu donc çà ne va plus du tout avec ce que j’avais fait.
Mon intention est bien de permettre de mettre à jour les heures de début et de fin par des commandes mais il faut que je trouve un moyen qui marche avec plusieurs couvre-feu.
Et j’ai aussi le problème de trouver le temps pour faire çà car j’ai aussi du travail pour intégrer le distributeur de nourriture.
Mais çà m’intéresse de voir tes modifs de la classe si tu veux tu peux m’envoyer çà sur mon mail (je t’envoie l’adresse en MP pour éviter de la mettre sur le forum)

Sur mon appli android j’ai pas l’option pour définir plusieurs plage de couvre feu …
ou alors je l’ai pas vue .n j’ai vérifier je suis a jour mais j’ai qu’une grande chatiére connecte c’est peut être pour la petite qui a des options en plus de filtrage des chats

je t’envoie les modifs que j’ai faite dans la class … j’ai aussi corrigé le format des Heures de couvre feu paraceque j’ai réflexe de rentre HH:MM du coup au début j’arrivais pas a programmer manuellement les heures de couvre feu (avant de lire l’aide qui précise sans les : ) … j’ai donc virer le reformatage je trouve plus confort

Je n’ai pas mis de : car c’est plus conforme à la manière de noter les heures dans les scénarios Jeedom donc si j’ajoute les deux commandes action pour fixer l’heure de début et de fin du couvre-feu, je pensais que ce serait plus pratique dans les scénarios avec le format HHMM qui est conforme par exemple aux heures de lever et de coucher du soleil retournées par les commandes du plugin weather. Dis moi ce que tu en penses.
Voila comment çà se présente dans l’ap IOS : en dessous des deux champs « Heure de verrouillage » et « Heure de déverrouillage » à droite du bouton « Enregistrer le couvre-feu » ils ont ajouté un bouton « + » qui fait apparaître une nouvelle ligne avec les 2 champs et sur chaque ligne il y a une « X » à droite pour la supprimer.
J’avoue que c’est un souci pour moi car je ne vois pas bien comment implémenter çà dans le plugin. Pour le moment j’ai juste patché pour que les commandes du plugin agissent sur le premier couvre-feu. Un autre changement c’est que s’il n’y a pas de couvre feu défini, l’info « curfew » n’est pas présente dans le json retourné, alors qu’avant elle y était avec « enabled » : false

moi je trouve mieux avec les : les heures … une vieille habitude d’informaticien ceci dis dans les commande weather ils ont pas mis le : ca leur permet de pas créer un format heure mais de déclarer un numérique simple … … je pense que les heures de couvre feu risques (devrait) passer sur l’Object chat avec la version chatière connect (la petite car sureflap dis qu’on peut différencier les heures de sortie suivant le chat ) alors qu’avec la grande chatière connecte qui filtre pas les chats en sortie … elle ne scanne pas la puce en sortie , ils doit manqué un capteur …
c’est une information chatière c’est pour tout le monde pareille

A vérifier auprès de sureflap … ca simplifie pas la programmation

Justement si je crée des commandes pour agir sur ces heures ce sera beaucoup plus simple pour moi avec un format numérique

J’ai la petite chatière (en fait j’ai aussi la grande commandée par erreur, encore dans son carton, jamais utilisée !) et tout ce qu’on peut faire dans l’ap c’est interdire un chat donné de sortie sans possibilité de préciser les heures. Contrairement à ce que tu penses c’est une commande liée à la chatière pas à l’animal et j’ai déjà implémenté ces commandes dans mon plugin (les commandes « Autoriser animal » et « Interdire animal ») et crois moi çà n’a pas été simple car ce sont des commandes de la chatière mais il a fallu que je trouve un moyen de spécifier l’animal !
Mais tu viens de me faire réaliser un bug dans mon plugin: j’ai aussi mis ces commandes pour la grande chatière et çà ne peut pas marcher car comme tu le dis il lui manque un capteur.
Finalement je crois que je vais sortir la grande chatière de son carton pour procéder à des tests car j’ai peut-être loupé d’autres choses

j’ai la grande chatière connecte l’appli est a jour du 17/10§2019 et j’ai aucune option pour rajouter d’autre plage horaire en faite …
du coup je pense que ca vient avec la petite chatière celle qui filtre les chats …

j’ai teste l’autorise/interdire l’animal quand j’ai des inviter ca aurait été pratique mais ca fonctionne pas je te confirme avec la grande

je viens de vérifier sur l’interface web Sure Petcare j’ai pas non plus de quoi mettre un nouvelle plage sur ma chatière

Moi voici ce que j’ai avec la petite chatière sur surepetcare.io

Je pense savoir à peu près comment je vais implémenter çà dans le plugin.
Il y aura 4 nouvelles commandes pour les chatières : 2 commandes action Fixer heure de verrouillage et Fixer heure de déverrouillage et 2 commandes info Heure de verrouillage et Heure de déverrouillage. Les deux commandes info seront mises à jour lors du cron comme ce que tu as fait.
Dans un scénario on pourra utiliser ces commandes par exemple faire un truc comme


avec les deux commandes action (on peut bien sûr faire plus compliqué : décalages, variation suivant les jours de la semaine, …)
Je crois aussi que je vais garder le format HHMM car çà simplifie tout.
Le code n’est pas encore fait, j’ai juste modifié le fichier json en ajoutant les 4 commandes ce qui m’a permis de faire la copie d’écran ci-dessus.

j’ai tenté la mise a jour du plugin ce soir et du coup la commande activer le couvre feu ne marche plus je suis la seule ??

Bonjour,
peux tu me dire si tu utilises la petite ou la grande chatière car je soupçonne que depuis que la petite chatière peut définir plusieurs plages de couvre feu et pas la grande la structure des données n’est pas la même.
Dans la mise à jour j’ai corrigé cette commande pour qu’elle marche avec la petite chatière (que j’utilise) mais du coup je n’étais pas sûr que çà marche encore avec la grande. Ton observation semble confirmer mes craintes.
Je pense que ce sera facile à corriger en distinguant les deux cas dans le code, mais pour corriger à coup sûr il me faudrait ton log en debug pas besoin de tout mais il me faudrait la ligne qui contient updateDevicesStatus device : Array et qui concerne ta chatière (tu peux la repérer car elle contient le nom de ta chatière) Attention je répète il faut être en debug.
Merci beaucoup et désolé de ce contretemps.
A part çà rien d’autre ne marche pas ?

Oops j’ai oublié une précision très importante pour le log : il faut qu’auparavant tu actives le couvre-feu avec ton smartphone sinon je ne verrai pas l’info qui m’intéresse dans le log !

Bon j’ai fait un essai, un peu à l’aveuglette il faut bien le dire pour fixer les commandes du couvre-feu.
Dis moi si çà marche pour la grande chatière avec la version que je viens de pousser sur le market.
PS: tout n’était pas de ma faute, sure petcare a encore changé le format des données: avant quand le couvre-feu n’était pas activé l’info était absente des données maintenant pour la petite chatière c’est un array vide ! Mon code essaie de couvrir tous ces cas.

Alors mon scenario marche toujours
par contre les heures de couvre feu que j’injecte par scenario (code php) sont ok sur le serveur (vue sur l’appli) ne remonte plus vers jeedom et quand je veut synchroniser j’ai une erreur MySQL
[MySQL] Error code : 23000 (1062). Duplicate entry ‹ 27-En ligne › for key ‹ unique › : INSERT INTO cmd SET id = :id, logicalId = :logicalId, generic_type = :generic_type, eqType = :eqType, name = :name, order = :order, type = :type, subType = :subType, eqLogic_id = :eqLogic_id, isHistorized = :isHistorized, unite = :unite, configuration = :configuration, template = :template, display = :display, value = :value, isVisible = :isVisible, alert = :alert

j’ai envoye par mail le logs debug de mon installation c est une grand chatiérecobbect

Peux tu regarder dans l’onglet commandes de ton objet chatière si tu as bien les deux commandes info
« Heure de verrouillage » avec le logicalId dev.control::curfew::lock_time
et
« Heure de déverrouillage » avec le logicalId dev.control::curfew::unlock_time
Car je ne comprends pas ce qui se passe: les données sont bien récupérées par mon code puisque je vois dans ton log des choses comme

updateDevicesStatus curfew : Array (     [enabled] => 1     [lock_time] => 16:40     [unlock_time] => 07:32 ) 

mais seule la commande « Couvre-feu » avec le logicalId dev.control::curfew::enabled est mise à jour et pas les deux autres.
Peut-être que c’est lié à ton erreur MySQL ? peut-être que la mise à jour s’est mal passée ? J’en suis désolé.
En tout cas j’avais bien « deviné » le format des données du couvre-feu pour la grande chatière c’est déjà çà. Ceci dit j’ai trouvé une bêtise sans conséquence : j’exécute le code couvre-feu pour tous les équipements même le hub ou la mangeoire ce qui est idiot. je le corrigerai dans la prochaine version.

Pour t’aider voici l’onglet commandes de ma petite chatière. Tu devrais avoir les mêmes commandes sauf « Autoriser animal » et « interdire animal » qui ne doivent pas exister pour la grande chatière.