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

volet en pause #149

Closed darkalex76 closed 8 years ago

darkalex76 commented 8 years ago

Bonjour

J'utilise yana pour contrôler mes volets roulant. L'interface fonctionne parfaitement malgré le message d'erreur sur les droits d'accès au plugin relay radio.

En revanche, le plugin relay radio ne permet pas de faire une pause au volet roulant c'est à dire l’arrêter en plein mouvement afin de l'ouvrir ou fermer mais pas complètement.

Auriez-vous une solution à cela ??

Merci par avance,

darkalex76 commented 8 years ago

Personne pour m'aider !!!! :(

ldleman commented 8 years ago

Salut ! :)

Quel plugin utilise tu ? Si c'est ce plugin : http://market.idleman.fr/index.php?module=packet&block=packet_sheet&id=56 je pense qu'il n'est concu que pour faire de l'ouverture/fermeture, ajouter cette fonctionnalité n'est pas complexe a mon avis mais il faut que les auteurs du plugin veuillent et peuvtn le faire.

Je t'invite a les contacter via le formulaire de contact du plugin : http://market.idleman.fr/index.php?module=packet&block=contact_owner&id=56 pour leurs demander si c'est possible :)

chriskross commented 8 years ago

ce n est pas bien compliqué... pour mettre tes volets en pause il faudrait que tu envois une commande identique a la precedente. pour ce faire il faudrait que tu modifies le code du plugin. cdlt chris

darkalex76 commented 8 years ago

Merci pour vos réponses.

En effet, Il faut répéter la commande précédente. Il faut que j'apprenne le codage du plugin à moins que les auteurs peuvent me le faire comme dit idleman.

darkalex76 commented 8 years ago

Pour information, actuellement j'utilise le plugin relay radio par défaut lors de l'installation de yana. Est possible de faire ça avec ce plugin ?

Cordialement,

ldleman commented 8 years ago

Ah mais t'utilise le mien alors ! Si il suffit d'envoyer la commande précédente pour arretter le store, pourquoi ne pas simplement redire "yana ouvre le store" pendant qu'il se ferme ou inversement afin de le bloquer ?

darkalex76 commented 8 years ago

Oui idleman j'utilise ton plugin fonctionne parfaitement malgré qu'il me dit que les droit sont pas bon.

En revanche, j'utilise que l'interface graphique et pas encore via la voix. J'essaie de voir pour intégrer la fonctionnalité que je souhaite sur ton plugin mais bon je suis pas un développeur (je suis de l'autre côté c'est à dire le réseau :D ).

Si tu peux me filer un coup de main je serai très reconnaissant.

ldleman commented 8 years ago

Via l'interface graphique si tu clique sur "off" juste après avoir clique sur "on" ça devrait l'arrêter si ton store fonctionne comme tu le dis a savoir que la commande contraire a celle déjà activée stoppe le mouvement.

As tu essayé ?

Le 2015-11-03 19:49, darkalex76 a écrit :

Oui idleman j'utilise ton plugin fonctionne parfaitement malgré qu'il me dit que les droit sont pas bon.

En revanche, j'utilise que l'interface graphique et pas encore via la voix. J'essaie de voir pour intégrer la fonctionnalité que je souhaite sur ton plugin mais bon je suis pas un développeur (je suis de l'autre côté c'est à dire le réseau :D ).

Si tu peux me filer un coup de main je serai très reconnaissant.

Reply to this email directly or view it on GitHub [1].

Links:

[1] https://github.com/ldleman/yana-server/issues/149#issuecomment-153451832

darkalex76 commented 8 years ago

Merci pour ton aide.

En faite c'est pas l'opération contraire qui stoppe, C'est la même opération.

Exemple : si en ligne de commande je fais un on ça ouvre et si je reexecute la commande on ça met en pause le volet.

Or le plugin fais on puis off.

chriskross commented 8 years ago

connais tu la durée de descente ou montée de tes volets ? c est dans cette intervalle de temps quil faut permettre la possibilité de renvoyer la meme commande.

chriskross commented 8 years ago

lorsque j aurai 5mn , je regarde ce que je peux faire. ++

darkalex76 commented 8 years ago

Merci pour le coup de main c'est sympas. Je connais pas actuellement mais si tu veux je peux le calculer.

chriskross commented 8 years ago

Je t apporte la solution, ci-dessous. Cependant modifies le delai de pause en fonction du temps de montée et/ou descente de tes volets.

Les modifications doivent etre apporter au fichier 'radioRelay.plugin.php'

( par ex par le terminal, sudo nano /var/www/yana-server/plugins/radioRelay/radioRelay.plugin.php ou avec un editeur de texte type emacs)

je te mets l'ensemble du script qui gere le changement d'état. Il debute ligne 231, à partir de la ligne 241 modifies la fonction(response) en mettant un setTimeout() comme ci-dessous puis ajuste le delai, ici 10000 pour 10s :

function plugin_ethernetRelay_change(element,id){ var state = $(element).hasClass(\'active\') ? 0 : 1 ;

$.action(
              {
                   action : \'ethernetRelay_manual_change_state\', 
                   engine: id,
                   state: state
                  },
                  setTimeout(
                  function(response){
                  $(element).toggleClass("active");
                  },10000)
                                     );
                  }

A plus et bonne modification

+++ Christophe

darkalex76 commented 8 years ago

OK merci pour ton aide c'est cool d'avoir pris un peu de ton temps.

Je te fais un retour pour te dire si j'ai réussi ;)

chriskross commented 8 years ago

Testé et fonctionnel chez moi, je ne vois pas comment tu ne pourrais pas y arriver ! pour ton probleme de droit fait un :

sudo chmod 6755 /var/www/yana-server/plugins/radioRelay/radioEmission

bon courage ++

darkalex76 commented 8 years ago

Je devrais y arriver aussi je pense avec tes explications.

Je vais test pour les droits mais j'avais déjà fais un chmod 7777 sans succès mais le bouton fonctionne quand même. Comme ci c'était une fausse alerte je test avec ta commande. Merci pour tout

chriskross commented 8 years ago

@ldleman @darkalex76

Bonsoir l'equipe,

Je vous fais une petite suggestion, surtout au createur du plugin l'excellentissime @ldleman , pourrais-tu ajouter dans la partie config et donc aussi dans la database sql, table yana_plugin_radiorelay, un champ delai qui permettrai de definir un delai sur chaque id. (lampe,volet ou autre commande en RF) Ce qui permmettra davoir une variable delai, au lieu d'une valeur par defaut dans le JS de radioRelay.plugin.php Bref dans le but d'apporter une modification plus confortable que celle que j'ai apporter.

Perso je n utilise pas ce plugin, puisque je passe par un arduino qui sur mon LAN pour emettre mes ordres homeasy. Eh oui pas assez d'E/S sur un RPI et l'emeteur me semble un peu plus puissant en 5V ( je bosse dailleurs sur ER CC1101 pour virer EM de base ) car je m'en sers aussi pour la gestion des mes inter, relai 220v et capteurs. Par contre ce n'est pas pour autant que jai oublié Yana, le serveur me permet de piloter mon arduino. J utilise le plugin ethernetRelay, certes un peu modifier pour envoyer des requetes vers l ardui. tout ca pour dire que, je suis deja entrain de modifié de mon coté, la class, le plugin et la base de donnée pour le plugin ethernetRelay mais bon je pense que la generaliser et la proposer par defaut sur ton plugin radioRelay via repository serait un plus.

+++ bonne soirée Chris

darkalex76 commented 8 years ago

Petit retour rapide.

Pour les droits c'est nickel, j'avais essayé pas mal de truc mais ça non :D

Et pour la pause nickel. Un grand merci à Christophe pour son coup de main et pour avoir pris du temps pour m'aider. Ton idée que tu propose à idleman est intéressante et m'intéresse :)

Merci à vous 2.

chriskross commented 8 years ago

Impec ! je suis heureux d avoir trouver des solutions à tes problemes. n'hesites pas si tu rencontres d autres difficultés.

n oublies pas de cloturer le post lol

Bonne soirée

darkpisto commented 8 years ago

@chriskross : je suis carrément intéressé par ta solution arduinos ethernetRelay contrôlés par un RPI !

Si tu as déjà ça chez toi, n'hésites pas à diffuser ton code, tu feras des heureux :)

darkalex76 commented 8 years ago

Bonsoir,

J'ai réouvert le post car la pause fonctionne nickel par contre une fois en pause et que je rappui sur le bouton le plugin ne permet pas de choisir de descendre ou monté le volet.

Exemple : si je descend le volet ensuite je met en pause en rajoutant sur le bouton. Ça fonctionne bien.

Par contre, une fois en pause je ne peux pas décidé si je veut continuer à la descendre ou bien le monter.

Je me demande si je dois pas plutôt utiliser une autre plugin car celui ci ne doit pas être adapté à ce que je souhaite faire.

Des suggestions ???

chriskross commented 8 years ago

@darkalex76

Disons qu'avec la modif que je t ai proposée, tu peux envoyer deux fois la même commande dans l intervalle de temps defini dans le setTimeout(), mais l'etat inverse sera effectif apres ce delai.

exemple :

  1. etat initial de la var state 0,
  2. lors d'un onclick changement d'etat donc state=1, envoi de la cmd ouverture, etat maintenu en fonction du delai donc possibilité d'envoi d'une seconde cmd ouverture, consequence bloquage du volet.
  3. apres le delai du setTimeout(), l'etat change, state = 0, attente d'un onclick pour envoyer une cmd de fermeture.

Je reflechis à une solution, j ai deja ma petite idée... sinon, il y avait un plugin SWITCHY, celui ci te propose deux commandes separés, un bouton ON et un bouton OFF. Seulement, il ne se monte pas sur le dashbord mais dans une piece.

+++ je te fais un retour, si j ai une solution 😄

chriskross commented 8 years ago

@darkalex76 sinon tu mets un delai de 2000 pour 2s, voir 1500 pour 1,5s . Ce qui te permettra de bloquer ton volet avec une double commande.

qu est que tu en penses ?

darkalex76 commented 8 years ago

Moi j'avais mis une valeur de 30000 à peu près le temps que met le volet pour faire l'ensemble d'une ouverture ou fermeture.

Si je met 2sec j'aurai pas le temps de faire pause non ?

chriskross commented 8 years ago

@darkalex76

tu n as pas vraiment compris mon idée.... je m explique.

Tu envois par exemple une commande de fermeture. Le volet se ferme, jusqu ici tout va bien. Si tu veux qu il se ferme completement, tu ne fais rien de plus; par contre si tu veux le verrouiller lors de la descente, cette fois ci, tu fais un double clique sur ton widget, en gros tu as 2 secondes soit le temps du delai indiqué dans ton setTimeout() pour envoyer 2 fois la meme commande et donc le verrouiller.

est ce que c est plus clair lol ?

darkalex76 commented 8 years ago

Je comprend ce que tu veux dire et le verrouillage fonctionne bien. Par contre une fois verrouillée tu ne peux pas choisir si tu veux monter ou descendre le volet. Je pense que le plugin est pas adapter à mon besoin. En ayant un bouton on/off je pourrai sélectionné on pour monter je rappuie sur on pour le mettre en pause. Une fois en pause grâce au bouton on/off je rappui sur on pour monter ou off pour descendre.

@idleman avait fait quelque chose comme ça dans son interface hcc et ça marchait nickel. Je sais pas si son bouton qui était dans la hcc est possible de l'intégrer dans Yana-server

Vois-Tu ce que je veux dire ?

ldleman commented 8 years ago

J'essaierais de faire une tite modif sur le plugin officiel pour donner la possibilité d'avoir deux boutons on/off au lieu d'un seul si l'utilisateur le souhaite, ça devrait résoudre ton pb.

Mais je ne garantis pas de faire ça rapidement, j'ai pas mal de boulot sur mes projets perso, pro et sur ma maison ces derniers temps :)

Le 2015-11-08 17:30, darkalex76 a écrit :

Je comprend ce que tu veux dire et le verrouillage fonctionne bien. Par contre une fois verrouillée tu ne peux pas choisir si tu veux monter ou descendre le volet. Je pense que le plugin est pas adapter à mon besoin. En ayant un bouton on/off je pourrai sélectionné on pour monter je rappuie sur on pour le mettre en pause. Une fois en pause grâce au bouton on/off je rappui sur on pour monter ou off pour descendre.

@idleman [1] avait fait quelque chose comme ça dans son interface hcc et ça marchait nickel. Je sais pas si son bouton qui était dans la hcc est possible de l'intégrer dans Yana-server

Vois-Tu ce que je veux dire ?

Reply to this email directly or view it on GitHub [2].

Links:

[1] https://github.com/idleman [2] https://github.com/ldleman/yana-server/issues/149#issuecomment-154839559

ldleman commented 8 years ago

Tiens d'ailleur si tu peux ouvrir un topic avec le tag suggestion que je n'oublie pas ...

Le 2015-11-08 17:30, darkalex76 a écrit :

Je comprend ce que tu veux dire et le verrouillage fonctionne bien. Par contre une fois verrouillée tu ne peux pas choisir si tu veux monter ou descendre le volet. Je pense que le plugin est pas adapter à mon besoin. En ayant un bouton on/off je pourrai sélectionné on pour monter je rappuie sur on pour le mettre en pause. Une fois en pause grâce au bouton on/off je rappui sur on pour monter ou off pour descendre.

@idleman [1] avait fait quelque chose comme ça dans son interface hcc et ça marchait nickel. Je sais pas si son bouton qui était dans la hcc est possible de l'intégrer dans Yana-server

Vois-Tu ce que je veux dire ?

Reply to this email directly or view it on GitHub [2].

Links:

[1] https://github.com/idleman [2] https://github.com/ldleman/yana-server/issues/149#issuecomment-154839559

darkalex76 commented 8 years ago

OK merci c'est sympa de prendre un peu de ton temps :), ça va grandement me faciliter la vie avec un bouton on/off

Je close celui ci et en ouvre un en suggestions