ungültiges Protokoll

    • RE: ungültiges Protokoll

      Habe auch pilight 6 und rcswitch Installiert - ungültiges Protokoll wird bei allen angezeigt...

      Notlösung bei mir: Steuerung über Skript (Intertechno Befehl EIN)

      Shell-Script

      1. #!/bin/bash
      2. for run in {1}
      3. do
      4. sudo /opt/rcswitch-pi/send a 1 1 1
      5. done


      Hierzu die passende send.ccp:

      C Source Code

      1. /*
      2. Usage: see printUsage()
      3. */
      4. #include "RCSwitch.h"
      5. #include <stdlib.h>
      6. #include <stdio.h>
      7. #include <string.h>
      8. #include <iostream>
      9. void printUsage()
      10. {
      11. std::cout << "  Usage: sudo ./send <groupCode> <switchNumber> <command>\n";
      12. std::cout << "    e.g. sudo ./send 01011 3 1\n";
      13. std::cout << "         sudo ./send <groupNumber> <switchNumber> <command>\n";
      14. std::cout << "    e.g. sudo ./send 4 3 0\n";
      15. std::cout << "         sudo ./send <familyCharacter> <groupNumber> <switchNumber> <command>\n";
      16. std::cout << "    e.g. sudo ./send c 2 3 1\n";
      17. std::cout << "         sudo ./send <dipSwitchGroup> <dipSwitchUnit> <command>\n";
      18. std::cout << "    e.g. sudo ./send 11100 00001 1\n";
      19. std::cout << "\n";
      20. std::cout << "  Command is 0 for OFF and 1 for ON\n";
      21. std::cout << "\n";
      22. std::cout << "  See http://code.google.com/p/rc-switch/wiki/HowTo_OperateLowCostOutlets for more information about supported switches\n";
      23. }
      24. int main(int argc, char *argv[]) {
      25.    
      26.    /*
      27.     output PIN is hardcoded for testing purposes
      28.     see https://projects.drogon.net/raspberry-pi/wiringpi/pins/
      29.     for pin mapping of the raspberry pi GPIO connector
      30.     */
      31.    int PIN = 0;
      32. if (wiringPiSetup () == -1) return 1;
      33. RCSwitch mySwitch = RCSwitch();
      34. mySwitch.enableTransmit(PIN);
      35. if(argc == 4)
      36. {
      37. char* sGroup = argv[1];
      38. char* sSwitch = argv[2];
      39. int nSwitchNumber = atoi(argv[2]);
      40. int command  = atoi(argv[3]);
      41. if(strlen(sGroup) > 2)
      42. {
      43. //Type A: 10 pole DIP switches
      44. printf("sending [Type A] groupCode[%s] switchNumber[%s] command[%i]\n", sGroup, sSwitch, command);
      45. switch(command) {
      46. case 1:
      47. if (strlen(sSwitch) > 2) {
      48. mySwitch.switchOn(sGroup, sSwitch);
      49. } else {
      50. mySwitch.switchOn(sGroup, nSwitchNumber);
      51. }
      52. break;
      53. case 0:
      54. if (strlen(sSwitch) > 2) {
      55. mySwitch.switchOff(sGroup, sSwitch);
      56. } else {
      57. mySwitch.switchOff(sGroup, nSwitchNumber);
      58. }
      59. break;
      60. default:
      61. printf("command[%i] is unsupported\n", command);
      62. printUsage();
      63. return -1;
      64. }
      65. return 0;
      66. } else {
      67. //Type B: Two rotary/sliding switches
      68. int nGroupNumber = atoi(sGroup);
      69. printf("sending [Type B] groupNumber[%i] switchNumber[%i] command[%i]\n", nGroupNumber, nSwitchNumber, command);
      70. switch(command) {
      71. case 1:
      72. mySwitch.switchOn(nGroupNumber, nSwitchNumber);
      73. break;
      74. case 0:
      75. mySwitch.switchOff(nGroupNumber, nSwitchNumber);
      76. break;
      77. default:
      78. printf("command[%i] is unsupported\n", command);
      79. printUsage();
      80. return -1;
      81. }
      82. return 0;
      83. }
      84. }
      85. else if(argc == 5)
      86. {
      87.    //Type C: Intertechno
      88. char* sFamily = argv[1];
      89. int nGroup = atoi(argv[2]);
      90. int nDevice = atoi(argv[3]);
      91. int command = atoi(argv[4]);
      92.    
      93. printf("sending [Type C] family[%s] groupNumber[%i] switchNumber[%i] command[%i]\n", sFamily, nGroup, nDevice, command);
      94. switch(command) {
      95. case 1:
      96. mySwitch.switchOn(sFamily[0], nGroup, nDevice);
      97. break;
      98. case 0:
      99. mySwitch.switchOff(sFamily[0], nGroup, nDevice);
      100. break;
      101. default:
      102. printf("command[%i] is unsupported\n", command);
      103. printUsage();
      104. return -1;
      105. }
      106. return 0;
      107. }
      108. else
      109. {
      110. printUsage();
      111. }
      112. return 1;
      113. }
      Display All