Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. Knightan
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Knightan

    @Knightan

    0
    Reputation
    3
    Posts
    133
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    Knightan Follow

    Best posts made by Knightan

    This user hasn't posted anything yet.

    Latest posts made by Knightan

    • Need help with Code. Simple Nod with 4 button's and 2 Led output. Cant get he Led to work as I whant. They respond but both lights

      I want change state for the LEDS but they both lights when i Press on in Domoticz.

      How to solve the last stage with if (message.type == V_STATUS) // Change relay state

      If command A = Led 1 lights or command B = Led 2 Lights.

      Best regards!
      Bosses leksak.jpg

      /**
       * The MySensors Arduino library handles the wireless radio link and protocol
       * between your home built sensors/actuators and HA controller of choice.
       * The sensors forms a self healing radio network with optional repeaters. Each
       * repeater and gateway builds a routing tables in EEPROM which keeps track of the
       * network topology allowing messages to be routed to nodes.
       *
       * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
       * Copyright (C) 2013-2015 Sensnology AB
       * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
       *
       * Documentation: http://www.mysensors.org
       * Support Forum: http://forum.mysensors.org
       *
       * This program is free software; you can redistribute it and/or
       * modify it under the terms of the GNU General Public License
       * version 2 as published by the Free Software Foundation.
       *
       *******************************
       *
       * DESCRIPTION
       *
       * Simple binary switch example 
       * Connect button or door/window reed switch between 
       * digitial I/O pin 3 (BUTTON_PIN below) and GND.
       * http://www.mysensors.org/build/binary
       */
      
      
      // Enable debug prints to serial monitor
      #define MY_DEBUG 
      
      // Enable and select radio type attached
      #define MY_RADIO_RF24
      //#define MY_RADIO_RFM69
      
      #include <MySensors.h>
      #include <Bounce2.h>
      
      #define CHILD_ID_1 1
      #define CHILD_ID_2 2
      #define CHILD_ID_3 3
      #define CHILD_ID_4 4
      #define CHILD_ID_5 5  //LED KNAPP OUTPUT
      #define CHILD_ID_6 6  //LED KNAPP OUTPUT
      
      #define LED_PIN_Channel_1 3 // Relay 
      #define LED_PIN_Channel_2 4 // Relay
      #define BUTTON_PIN_Channel_1 5
      #define BUTTON_PIN_Channel_1 5  // Arduino Digital I/O pin for button/reed switch
      #define BUTTON_PIN_Channel_2 6 
      #define BUTTON_PIN_Channel_3 7
      #define BUTTON_PIN_Channel_4 8
      
      
      
      #define MY_REPEATER_FEATURE
      #define MY_DEFAULT_LED_BLINK_PERIOD 300
      #define MY_DEFAULT_TX_LED_PIN A0
      #define MY_DEFAULT_RX_LED_PIN A1
      
      
      // RELÄ LED
      
      #define RELAY_1_ON 1
      #define RELAY_2_ON 1
      #define RELAY_1_OFF 0
      #define RELAY_2_OFF 0
      bool state_1; // RELÄ 1 
      bool state_2; // RELÄ 2
      
      Bounce debouncer_1 = Bounce(); 
      Bounce debouncer_2 = Bounce(); 
      Bounce debouncer_3 = Bounce(); 
      Bounce debouncer_4 = Bounce(); 
      
      int oldValue_1=-1;
      int oldValue_2=-1;
      int oldValue_3=-1;
      int oldValue_4=-1;
      
      // Change to V_LIGHT if you use S_LIGHT in presentation below
      MyMessage msg1(CHILD_ID_1, V_TRIPPED);
      MyMessage msg2(CHILD_ID_2, V_TRIPPED);
      MyMessage msg3(CHILD_ID_3, V_TRIPPED);
      MyMessage msg4(CHILD_ID_4, V_TRIPPED);
      MyMessage msg5(CHILD_ID_5, V_STATUS); //LED
      MyMessage msg6(CHILD_ID_6, V_STATUS); //LED
      
      void setup()  
      {  
        // Setup the button
        // Activate internal pull-up
         // After setting up the button, setup debouncer
        pinMode(BUTTON_PIN_Channel_1,INPUT);
        pinMode(BUTTON_PIN_Channel_2,INPUT);
        pinMode(BUTTON_PIN_Channel_3,INPUT);
        pinMode(BUTTON_PIN_Channel_4,INPUT);
      
      
      //  RELÄ
      
        pinMode(LED_PIN_Channel_1, OUTPUT);
        pinMode(LED_PIN_Channel_2, OUTPUT);  
        pinMode(A0, OUTPUT); // RX TX Använda Analog pin som output 
        pinMode(A1, OUTPUT); // RX TX
      
        digitalWrite(LED_PIN_Channel_1, RELAY_1_OFF);
        digitalWrite(LED_PIN_Channel_2, RELAY_2_OFF);
      
      // Minne från EEPROM
      
         state_1 = loadState(CHILD_ID_5);
        digitalWrite(LED_PIN_Channel_1, state_1?RELAY_1_ON:RELAY_1_OFF);
      
           state_2 = loadState(CHILD_ID_6);
        digitalWrite(LED_PIN_Channel_2, state_2?RELAY_2_ON:RELAY_2_OFF);
        
        digitalWrite(BUTTON_PIN_Channel_1,LOW);
        digitalWrite(BUTTON_PIN_Channel_2,LOW);
        digitalWrite(BUTTON_PIN_Channel_3,LOW);
        digitalWrite(BUTTON_PIN_Channel_4,LOW);
        
        debouncer_1.attach(BUTTON_PIN_Channel_1);
        debouncer_2.attach(BUTTON_PIN_Channel_2);
        debouncer_3.attach(BUTTON_PIN_Channel_3);
        debouncer_4.attach(BUTTON_PIN_Channel_4);
        debouncer_1.interval(5);
        debouncer_2.interval(5);
        debouncer_3.interval(5);
        debouncer_4.interval(5);
        
      }
      
      void presentation() {
        // Register binary input sensor to gw (they will be created as child devices)
        // You can use S_DOOR, S_MOTION or S_LIGHT here depending on your usage. 
        // If S_LIGHT is used, remember to update variable type you send in. See "msg" above.
      
        // Send the sketch version information to the gateway and Controller
        sendSketchInfo(F("Bosses LEKSAK"), F("1.1"));
        present(CHILD_ID_1, S_DOOR); 
        present(CHILD_ID_2, S_DOOR); 
        present(CHILD_ID_3, S_DOOR); 
        present(CHILD_ID_4, S_DOOR);  
        present(CHILD_ID_5, S_BINARY); 
        present(CHILD_ID_6, S_BINARY);  
      }
      
      
      //  Check if digital input has changed and send in new value
      void loop() 
      {
        debouncer_1.update();
        debouncer_2.update();
        debouncer_3.update();
        debouncer_4.update();
        
        
        
        // Get the update value
        int value_1 = debouncer_1.read();
        int value_2 = debouncer_2.read();
        int value_3 = debouncer_3.read();
        int value_4 = debouncer_4.read();
       
        if (value_1 != oldValue_1) {
           // Send in the new value
           send(msg1.set(value_1==HIGH ? 1 : 0));
           oldValue_1 = value_1; }
        
      
        if (value_2 != oldValue_2) {
           // Send in the new value
           send(msg2.set(value_2==HIGH ? 1 : 0));
           oldValue_2 = value_2; }
      
        if (value_3 != oldValue_3) {
           // Send in the new value
           send(msg3.set(value_3==HIGH ? 1 : 0));
           oldValue_3 = value_3; }
      
        if (value_4 != oldValue_4) {
           // Send in the new value
           send(msg4.set(value_4==HIGH ? 1 : 0));
           oldValue_4 = value_4; }
      }
      
      void receive(const MyMessage &message) {
        // We only expect one type of message from controller. But we better check anyway.
         if (message.isAck()) {
           Serial.println("This is an ack from gateway");
      //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      
      
      
      
           
      }
      
         if (message.type == V_STATUS) {
         // Change relay state
          state_1 = message.getBool();
          digitalWrite(LED_PIN_Channel_1, state_1?RELAY_1_ON:RELAY_1_OFF);
          // Store state in eeprom
          saveState(CHILD_ID_5, state_1);
          
           // Write some debug info
           Serial.print("Incoming change for sensor: STATE 1");
           Serial.print(message.sensor);
           Serial.print(", New status: ");
           Serial.println(message.getBool());
         } 
      
      if (message.type == V_STATUS) {
         // Change relay state
          state_2 = message.getBool();
          digitalWrite(LED_PIN_Channel_2, state_2?RELAY_2_ON:RELAY_2_OFF);
          // Store state in eeprom
          saveState(CHILD_ID_6, state_2);
          
           // Write some debug info
           Serial.print("Incoming change for sensor: STATE 2");
           Serial.print(message.sensor);
           Serial.print(", New status: ");
           Serial.println(message.getBool());
         } 
      
      
      
         
      }
      
      
      
       
      
      posted in My Project
      Knightan
      Knightan
    • RE: Using the "Selector switch" in Domoticz (tutorial)

      Hello AWI , is it possible to post the hole example sketch ?

      posted in Domoticz
      Knightan
      Knightan
    • Need help with a Selector switch (Push button in domoticz -> send info in Usb debug in arduino)

      Hi, I hope any kind soul can help me with my problem. I have peeked at https://forum.mysensors.org/topic/4933/using-the-selector-switch-in-domoticz-tutorial but I don't get it working. The code is not complete in the example 😞

      I want to combine a GSM shield with mysenor. I want to be able to press a push button in domotics that activates a gsm shield. The activation of the GSM source is no problem, but I have not managed to get mysensor to work.

      Is there anyone who can show me how to create a dummy switch that sends various information to debug usb on an arduino with mysensor.

      Please help

      posted in Domoticz
      Knightan
      Knightan