ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

Switchi : Pilotage moteur de verrouillage centralisé #175

Closed juliendiotworldtour closed 8 years ago

juliendiotworldtour commented 8 years ago

Salut @Charal , je reviens vers toi pour un nouveau projet grâce à Swtichi. J'aimerai grâce à lui pouvoir ajouter le verrouillage centralisé sur mon VITO car j'ai les moteurs déjà présent dans les portières mais je n'ai pas "l'option activée".

Pour cela j'utiliserai 3 relais (un pour l'alimentation et deux pour pouvoir inverser le courant dans les moteurs) et 4 contacteurs (2 présent pour chaque moteur afin de renvoyer l'information "fin de course Haut/bas") qui seront raccordées aux GPIO IN du Raspberry.

Voici donc mes questions: Est-ce que grâce à Switchi je peux: Définir la position dans laquelle doivent se trouver les relais (et donc le sens de rotation des moteurs) en fonctions des informations renvoyés par les contacteurs de course au RPI via les GPIO d'entrée? (Par exemple, si j'ai le contacteur de course bas enfoncé; le RPI comprend que la prochaine fois que je lancerai la commande, ce sera pour que le mécanisme aille déclencher le contacteur de course haute).

Définir l'enchaînement suivant:

Contacteur position bas enclenché (Réaction du RPI: ouvrir les relais d'inversion) Mes 2 relais d'inversion position ouvert (GPIO OUT) Commande vocale: Yana, allume porte" (Réaction du RPI: fermer le relai d'alimentation) Relai d'alimentation position fermé (GPIO OUT) Le courant circule dans les moteurs Relâchement du contacteur position bas (Réaction RPI: attente de l'info du contacteur position haute) Déplacement du verrou vers le haut Enclenchement contacteur position haut (Réaction du RPI: ouvrir relai d'alimentation + relais d'inversion en position fermé pour la prochaine commande) Relai d'alimentation position ouvert (GPIO OUT) Mes 2 relais d'inversion position fermé (GPIO OUT)

La commande inverse est la suivante:

Contacteur poistion haut enclenché (Réaction du RPI: fermer les relais d'inversions) Mes 2 relais d'inversion position fermé (GPIO OUT) Commande vocale:" Yana, ferme porte" (Réaction RPI: fermer relai d'alimentation) Relai d'alimentation position fermé (GPIO OUT) Le courant circule dans les moteurs dans l'autre sens Relâchement du contacteur position haute (Réaction RPI: attente de l'info du contacteur de position basse) Déplacement du verrou vers le bas Enclenchement contacteur position basse (Réaction RPI: ouvrir relai d'alimentation + relais d'inversion en position ouvert pour la prochaine commande) Relai d'alimentation position ouvert (GPIO OUT) Mes 2 relai d'inversion position ouvert (GPIO OUT)

Je me dis que le fonctionnement qui paraît complexe à première vu dois pouvoir fonctionner sur SWITCHI car ce plugin gère aussi bien plusieurs entrées/ sorties à la fois. Penses tu que ma logique peut bloquer quelque part? Est-ce que Switchi peut ouvrir des relais et en fermer d'autres et vice/versa en fonction des informations renvoyées par les capteurs de position?

Je risque un peu de m'arracher les cheveux pour les branchements mais si tu me confirmes que cela peut fonctionner, je passe à l'action rapidement!!!

Merci Charal

juliendiotworldtour commented 8 years ago

Mon précédent schéma est dur à comprendre au niveau de la façon dont je gère l'inversion de l'alimentation vers les moteurs. En fait j'ai 3 relais 1 relai qui me sert de disjoncteur on/off 1 relai qui gère le + 1 relai qui gère le -

C'est 2 derniers sont soit simultanément ouverts ou fermés grâce à switchi.

La question concerne l'interraction entre les contacteurs et les relais : est ce que l'état dans lequel se trouve le contacteur peut définir si les relais gérant le + et - doivent envoyer le courant sur les fils de gauche ou de droite ? En gros si mon contacteur est ouvert, le raspberry pi donne l'ordre aux relais d'inversion d'être ouvert et vice versa.

J'ai déjà modifier les lignes de code de 990 à 1010 et de 1020 à 1040 pour m'y retrouver !

Merci @charal

Charal commented 8 years ago

Salut Julien,

Il faudrait que tu me parles en terme d'entrée et de sortie, si je comprends bien, un contacteur va te fournir sur une entrée l'info qu'il faut bascule 2 ou 3 relais derrière, donc pour moi pas de problème...

Si tu fais trois associations, avec l'entrée du contacteur, et chaque relais pour les sorties, à chaque fois que l'entrée changera, les 2 ou 3 relais seront commutés.

Il faudrait plutôt que tu définisses ce que chaque changement d’entrée doit actionner comme sortie derrière.

Si je comprends bien tu auras 4 entrées différentes, il faut juste que tu réfléchisses a ce que doit actionner chaque changement d’entrée.

@lex

----- Mail original -----

De: "juliendiotworldtour" notifications@github.com À: "ldleman/yana-server" yana-server@noreply.github.com Cc: "Charal" alex.rault@laposte.net Envoyé: Mardi 26 Janvier 2016 19:07:28 Objet: Re: [yana-server] Switchi : Pilotage moteur de verrouillage centralisé (#175)

Mon précédent schéma est dur à comprendre au niveau de la façon dont je gère l'inversion de l'alimentation vers les moteurs. En fait j'ai 3 relais 1 relai qui me sert de disjoncteur on/off 1 relai qui gère le + 1 relai qui gère le -

C'est 2 derniers sont soit simultanément ouverts ou fermés grâce à switchi.

La question concerne l'interraction entre les contacteurs et les relais : est ce que l'état dans lequel se trouve le contacteur peut définir si les relais gérant le + et - doivent envoyer le courant sur les fils de gauche ou de droite ? En gros si mon contacteur est ouvert, le raspberry pi donne l'ordre aux relais d'inversion d'être ouvert et vice versa.

J'ai déjà modifier les lignes de code de 990 à 1010 et de 1020 à 1040 pour m'y retrouver !

Merci @charal

— Reply to this email directly or view it on GitHub .

juliendiotworldtour commented 8 years ago

Salut @Charal , comment vas tu? cela faisait un bout de temps! Alors je te fais un petit retour par rapport à mon projet de verrouillage centralisé: Après avoir effectuer tous mes branchements, j'ai essayer de piloter mes 3 relais à partir d'une impulsion sur mon contact de fin de course. JE souhaitais couper le relais qui alimente mes moteurs et Inverser les 2 autres relais. Toutefois avec Switchi je n'arrive pas à piloter ces 3 relais suivant une seule impulsion, malgré les associations créées. Il me fait un cafouilli aléatoire en allumant parfois 1 voire 2 relai mais je n'arrive pas à obtenir cet enchainement. JE pense que ce que je veux obligerai à trop modifier switchi donc je vais essayer une autre voix avec seulement 2 relais mais dont le rôle d'inversion sera fourni par mes contacts de fin de course.

Voili voilu! Merci en tout cas!

Charal commented 8 years ago

Salut Julien,

Si je comprends bien tu vas tenter avec Switchi, mais qu’avec deux relais ?

Tu as l’impression d’un comportement plus ou moins aléatoire ? Il y a peut-être un souci…

Swithci pour chaque commutation, fait un curl pour enregistrer les valeurs en bdd, et ainsi, si le rpi reboot, il reprend les derniers états, mais si l’enregistrement en bdd se fait pas top, tu peux avoir des latences, ou des timeouts.

Si tu veux, Switchi dépose un log dans /var/log/Yana quelque chose…, je peux regarder si tu me l’envoie.

Je peux aussi t’envoyer un service de scan qui ne sauvegarde pas les états et qui serai plus réactif…

Je boss aussi sur une version qui fonctionne avec les interrupt, mais ce n’est pas pour tout de suite…

A ta dispo.

@lex

----- Mail original -----

De: "juliendiotworldtour" notifications@github.com À: "ldleman/yana-server" yana-server@noreply.github.com Cc: "Charal" alex.rault@laposte.net Envoyé: Mardi 16 Février 2016 09:25:57 Objet: Re: [yana-server] Switchi : Pilotage moteur de verrouillage centralisé (#175)

Salut @Charal , comment vas tu? cela faisait un bout de temps! Alors je te fais un petit retour par rapport à mon projet de verrouillage centralisé: Après avoir effectuer tous mes branchements, j'ai essayer de piloter mes 3 relais à partir d'une impulsion sur mon contact de fin de course. JE souhaitais couper le relais qui alimente mes moteurs et Inverser les 2 autres relais. Toutefois avec Switchi je n'arrive pas à piloter ces 3 relais suivant une seule impulsion, malgré les associations créées. Il me fait un cafouilli aléatoire en allumant parfois 1 voire 2 relai mais je n'arrive pas à obtenir cet enchainement. JE pense que ce que je veux obligerai à trop modifier switchi donc je vais essayer une autre voix avec seulement 2 relais mais dont le rôle d'inversion sera fourni par mes contacts de fin de course.

Voili voilu! Merci en tout cas!

— Reply to this email directly or view it on GitHub .

juliendiotworldtour commented 8 years ago

Salut @lex, Je suis en train de mettre à jour Jessie et Yana aujourd'hui donc dans la foulée je peux intégrer ton nouveau service de scan. Penses tu qu'il te serais également possible, pour mes contacts branchés sur les Pin d'entrée, de garder l'information en mémoire suite à une impulsion au lieu de maintenir le contact enfoncé pour maintenir l'état? Ceci au cas où le contact se relâche par inadvertance.

ldleman commented 8 years ago

@Charal @juliendiotworldtour Je peux clore le topic ou 'est encore en suspend ? (ché fé lé ménach, comprenez :D )

juliendiotworldtour commented 8 years ago

Pas de soucis tu peux fermer le topic. C'est trop technique pour moi de passer en BT. As tu mis en ligne la video que j'ai fait? A bientôt !

Envoyé depuis mon téléphone Cyanogen

Le 9 mai 2016 9:35 AM, Idleman notifications@github.com a écrit :

@Charal @juliendiotworldtour Je peux clore le topic ou 'est encore en suspend ? (ché fé lé ménach, comprenez :D )

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub

ldleman commented 8 years ago

Nop pas encore, faut que je fasse un encart sur la page idleman.fr/yana, par contre comme j'ai que la tienne sous la main vas falloir que je mette ça en valeur pour que ça ne fasse pas trop vide ^^.