Page 1 sur 1

Probleme activation prise télécommandées

Publié : 02 janv. 2019, 19:15
par lio908
Bonjour
J'essaye de faire fonctionner mes prises électrique sous Domoticz et j'ai bien du mal...

je suis partis de ça
https://domotique-home.fr/domotique-diy ... aedd0e4327

Avec Rfcxcom, j'ai récupéré les codes de mes prises sous format binaire (3*8)
on, 000101010001010101010111
off, 000101010001010101010100
pour la première
J'ai récupéré un fichier send.cpp dans lequel j'ai mis a jour mon code

Code : Tout sélectionner

 
#include "../rc-switch/RCSwitch.h"
#include <stdlib.h>
#include <stdio.h>
 
int main(int argc, char *argv[]) {
 
  /*
   * output PIN is hardcoded for testing purposes
   * see https://projects.drogon.net/raspberry-pi/wiringpi/pins/
   * for pin mapping of the raspberry pi GPIO connector
   */
  int i = 0;
  int PIN = 0;
  int command  = atoi(argv[1]);
 
  if (wiringPiSetup () == -1) return 1;
  RCSwitch mySwitch = RCSwitch();
  mySwitch.setProtocol(3);
  mySwitch.enableTransmit(PIN);
 
    
  switch(command) {
        case 11:  // A1 a ON
            for (i=1; i<10; i++) {
            mySwitch.send("000101010001010101010111");  
            delayMicroseconds(810);
            }
            break;
        case 10:  // A1 a Off
            for (i=1; i<10; i++) {
            mySwitch.send("000101010001010101010100");
            delayMicroseconds(810);
            }
            break;
			
        case 21:  // A2 a On
            for (i=1; i<10; i++) {
            mySwitch.send("000101010100010101010111");
            delayMicroseconds(810);
            }
            break;
        case 20:  // A2 a Off
            for (i=1; i<10; i++) {
            mySwitch.send("000101010100010101010100");
            delayMicroseconds(810);
            }
            break;
			
        case 31:  // A3 a ON
            for (i=1; i<10; i++) {
            mySwitch.send("000101010101000101010111");
            delayMicroseconds(810);
            }
            break;
        case 30:  // A3 a Off
            for (i=1; i<10; i++) {
            mySwitch.send("000101010101000101010100");
            delayMicroseconds(810);
            }
            break;
				
        default:
            printf("./send Numéro Prise+1=On ou 0=Off");
            return -1;
    }
      
      
  return 0;
}
J'ai ajouté un script php que j'ai mis donc sous scripts\php, et que j'ai appelé send.php

Code : Tout sélectionner

<?php
// API actioner les prises
// ./send <numero Prise><on/off>
// on = 1
// off = 0
// exemple ./send 10
$prise = $_GET['prise'];
$etat = $_GET['etat'];
system('sudo ./send '.$prise.$etat, $retval);
print_r ($retval) ;
?>
et que j'appelle donc par un inter ON/OFF dans Domoticz
Action ON http://192.168.0.150:8080/#/php/send.php?prise=1&etat=1
Action OFF que j'ai mis dans un inter ON/OFF dans Domoticz

Une première question svp:
si j'ai des printf dans mon prog en c, ou je peut le voir? J'ai bien un e console lancé avec putty pour compiler mes modifs, mais j'ai pas les mess des printf qui s'affichent?
idem pour les messages du php.

deuxième question:
aurais-je loupé quelque chose?

merci d'avance

Re: Probleme activation prise télécommandées

Publié : 03 janv. 2019, 08:34
par higgins91
quel est la marque modèle des prises ?
avec la télécommande, tu peux copier le signal et le reproduire sans passer par des fichiers cpp ou scripts php...

Re: Probleme activation prise télécommandées

Publié : 03 janv. 2019, 10:30
par lio908
Bonjour

C'est des prises de marques erverflourish par lot de 3 de chez BricoD****
Comme expliqué initialement, j'ai récupéré le code avec le sw du RFXCOM

Comment peut-on s'en servir sans le script qui lance le php qui lance le send en C++?

Merci