Page 1 sur 2
Commande volet
Publié : 18 oct. 2015, 21:26
par caape
Bonjour
Je viens de passer a MySensors mes 2 volets du salon.
J'arrive bien a les ouvrir ou les fermer et même a les ouvrir juste un peu (Blinds).
Le soucis, j'ai deux interrupteurs par volet qui se sont créés sur domoticz. Un qui fonctionne avec Monter, Descendre, Stop et un avec le curseur de réglage en %. J'aurai préféré en avoir qu'un avec tout mais surtout avec les boutons qui fonctionnent avec le curseur. J'ai du faire une bidouille avec un getBool() pour ouvrir ou fermer avec les boutons. en plus, le curseur ne se mets pas a la bonne valeur a l'arret du volet. J mets a jour avec un V_PERCENTAGE et un V_UP ou V_DOWN ou V_STOP suivant le cas.
Quand je mets le type blinds sur l'autre interrupteur, le curseur ne fonctionne pas, je ne peux pas le bouger dans domoticz.
Y a-t-il une astuce que j'ai raté ?
Comment faire pour n'avoir qu'un devices qui fonctionne avec le curseur ET le bouton STOP.
A+
Re: Commande volet
Publié : 03 nov. 2015, 23:36
par Artpol5
Bonjour,
J ai quasi le même problème, j ai un volet roulant et 2 interrupteurs qui se crée, l un pour la montée et l autre pour la descente. Est-il possible de fuisionner 2 interrupteurs ou un autre interrupteur pour ce blinds existe ?
Re: Commande volet
Publié : 08 févr. 2016, 14:14
par AlexElectro
Bonjour
je relance le sujet... avez vous trouvé une solution ce problème?
Re: Commande volet
Publié : 10 févr. 2016, 19:53
par vil1driver
salut,
3 personnes et pas une pour dire comment elle à créé son volet...
ça fonctionne bien ici... vous devriez faire comme je fais..

bonne journée

Re: Commande volet
Publié : 10 févr. 2016, 20:40
par deennoo
Avez vous essaye les venitian blind ?
Re: Commande volet
Publié : 14 févr. 2016, 18:01
par lucaskywalker
Bonjour
Il y a deux choses que je ne comprend pas avec le s_cover.
Dans les variables qui apparaissent sous domoticz, j ai V_UP, V_DOWN, V_STOP mais aussi V_FORECAST?? est ce normal.
Je ne comprends pas non plus le type de message que renvois domoticz.
Ils n ont pas l air d etre de type V_UP, V_DOWN, V_STOP.
quand je fais:
il imprime "29,30,31"...est qu il y a une commande pour transformer le type de variable en string?
Sinon pour le souci du curseur c pareil pour moi, il est bloqué quand je créer ce type d'interrupteur. mm en venitian blind.
Par contre pour moi c peut etre normal vu que je n ai pas de V_PERCENTAGE.
Code : Tout sélectionner
/* ===============================================================
Project: Store Test
Author: Lucas van Rossum
Created: 14/02/2016
Arduino IDE: 1.7.8
================================================================== */
#include <MySensor.h>
#include <SPI.h>
#define RELAY_ON 0
#define RELAY_OFF 1
// relay pin
#define RELAY_UP 4
#define RELAY_DWN 6
// CHILD ID
#define CHILD_IDA 1
#define BUTUP 3 //boutton pin
#define BUTDWN 5 //boutton pin
// to store button
int ValButUP=0;
int ValButDWN=0;
int oldAction=0;
bool state;
// Construct MySensors library
MySensor gw;
MyMessage msgAUp(CHILD_IDA,V_UP);
MyMessage msgADwn(CHILD_IDA,V_DOWN);
MyMessage msgAStp(CHILD_IDA,V_STOP);
void setup(){
// Initialize library and add callback for incoming messages
gw.begin(incomingMessage, AUTO, true);
// Send the sketch version information to the gateway and Controller
gw.sendSketchInfo("Store ", "0.1");
// Register all sensors to gw (they will be created as child devices)
gw.present(CHILD_IDA, S_COVER);
//Setup all the Arduino Pins
pinMode(RELAY_UP, OUTPUT);
pinMode(RELAY_DWN, OUTPUT);
pinMode(BUTUP, INPUT);
pinMode(BUTDWN, INPUT);
// Activate internal pull-up
//digitalWrite(BUTUP,HIGH);
//digitalWrite(BUTDWN,HIGH);
//Turn OFF any power to the Relay channels
digitalWrite(RELAY_UP,RELAY_OFF);
digitalWrite(RELAY_DWN,RELAY_OFF);
}
void loop(){
// Alway process incoming messages whenever possible
gw.process();
//Recuperer le statut des poussoirs
ValButUP = digitalRead(BUTUP);
ValButDWN = digitalRead(BUTDWN);
// if (ValButUP == HIGH ){
// Serial.print(", up ");
//}
// if (ValButDWN == HIGH ){
// Serial.print(", down ");
//}
//UP
if (ValButUP == HIGH && ValButDWN == LOW ){
int action=1; //1 monté,2descente, 0stop
if (action!=oldAction) {
Serial.print(", up relay ");
digitalWrite(RELAY_UP,RELAY_ON);
gw.send(msgAUp.set(1), false);} // retour info vers Controleur
oldAction=action;}
//DOWN
if (ValButDWN == HIGH && ValButUP == LOW ){
int action=2; //1 monté,2descente, 0stop
if (action!=oldAction) {
Serial.print(", down relay ");
digitalWrite(RELAY_DWN,RELAY_ON);
gw.send(msgADwn.set(1), false);} // retour info vers Controleur
oldAction=action;
//stop
}
if (ValButDWN == LOW && ValButUP == LOW ){
int action=0; //1 monté,2descente, 0stop
if (action!=oldAction){
Serial.print(", none ");
digitalWrite(RELAY_UP,RELAY_OFF);
digitalWrite(RELAY_DWN,RELAY_OFF);
gw.send(msgAStp.set(1), false);} // retour info vers Controleur
oldAction=action;;
}
}
void incomingMessage(const MyMessage &message) {
// Write some debug info
Serial.println("[incomingMessage]");
Serial.print("Incoming change for sensor:");
Serial.print(message.sensor);
Serial.print("messagetype");
Serial.print(message.type);
Serial.print(", New status: ");
Serial.println(message.getBool());
//if (message.type == V_UP) {
//if (message.type == V_UP) {
// Change relay state
// state = message.getBool();
// if(state == 1){
// digitalWrite(RELAY_UP, RELAY_ON);
// }else{
// digitalWrite(RELAY_UP, RELAY_OFF);
// }
//}
//if (message.type == V_DOWN) {
// Change relay state
// state = message.getBool();
// if(state == 1){
// digitalWrite(RELAY_DWN, RELAY_ON);
// }else{
// digitalWrite(RELAY_DWN, RELAY_OFF);
// }
// }
//}
}
Re: Commande volet
Publié : 14 févr. 2016, 19:45
par vil1driver
Il n'y a que des chiffres à transiter..
Si tu regardes la doc de l'api tu verras que ça correspond.
Pour tester fais un Serial.print(V_UP)
Pas de pourcentage non plus mais le reste est fonctionnel
Re: Commande volet
Publié : 14 févr. 2016, 21:32
par lucaskywalker
Ah merci, je n'avais pas vue la colonne value dans la doc de l'API.
Est ce que tu as un V_FORECAST de ton coté? Il apparaît dans domoticz materiel et réglage du node.
Sinon j ai bug sur l appli android, quelque soit le bouton il renvoit 31(V_stop).
Lucas
Re: Commande volet
Publié : 18 févr. 2016, 10:26
par AlexElectro
Salut
J'ai testé le script de lucaskywalker. J'ai quelques soucis car il émet en permanence.... Comme j'ai pas trop confiance dans la breadbord je fais quelques soudures et je vous raconte !

Re: Commande volet
Publié : 19 févr. 2016, 17:51
par AlexElectro
Bon même bien soudé/cablé ça émet de manière aléatoires des infos.... bizarre....
Sinon pour les curieux c'est assez bien expliqué là :
https://www.jeedom.com/forum/viewtopic.php?f=35&t=5381
oui, je sais, c'est la concurrence.....
