Mysensors - problem z przekaźnikami

Witam!

Mam problem z dwoma przekaźnikami, których nie widać w GUI, a widać w konfigu.
Oprócz tego są 3 włączniki 2 czujki ruchu i czujnik otwarcia drzwi, które działają bez problemu.

Oto skrypt:


// Enable debug prints to serial monitor
#define MY_DEBUG

// Enable and select radio type attached
#define MY_RADIO_RF24
//#define MY_RADIO_NRF5_ESB
//#define MY_RADIO_RFM69
//#define MY_RADIO_RFM95

// Enable repeater functionality for this node
#define MY_REPEATER_FEATURE
#define MY_NODE_ID 10

#include <MySensors.h>
#include <Bounce2.h>

#define RELAY_PIN 4  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 2 // Total number of attached relays
#define RELAY_ON 0  // GPIO value to write to turn on attached relay
#define RELAY_OFF 1 // GPIO value to write to turn off attached relay

#define PRIMARY_CHILD_ID 11
#define PRIMARY_BUTTON_PIN  A0
#define SECONDARY_CHILD_ID 22
#define SECONDARY_BUTTON_PIN A1
#define TERTIARY_CHILD_ID 33
#define TERTIARY_BUTTON_PIN A2
#define QUATERNARY_CHILD_ID 44
#define QUATERNARY_BUTTON_PIN A3
#define QUINARY_CHILD_ID 55
#define QUINARY_BUTTON_PIN A4
#define SENARY_CHILD_ID 66
#define SENARY_BUTTON_PIN A5

Bounce debouncer = Bounce();
int oldValue = -1;

// Change to V_LIGHT if you use S_LIGHT in presentation below
MyMessage msg(PRIMARY_CHILD_ID, V_TRIPPED);
MyMessage msg2(SECONDARY_CHILD_ID, V_TRIPPED);
MyMessage msg3(TERTIARY_CHILD_ID, V_TRIPPED);
MyMessage msg4(QUATERNARY_CHILD_ID, V_LIGHT);
MyMessage msg5(QUINARY_CHILD_ID, V_LIGHT);
MyMessage msg6(SENARY_CHILD_ID, V_LIGHT);

void before()
{
  for (int sensor = 1, pin = RELAY_PIN; sensor <= NUMBER_OF_RELAYS; sensor++, pin++) {
    // Then set relay pins in output mode
    pinMode(pin, OUTPUT);
    // Set relay to last known state (using eeprom storage)
    digitalWrite(pin, loadState(sensor) ? RELAY_ON : RELAY_OFF);
  }
}

void setup()
{
  // Setup the button
  pinMode(PRIMARY_BUTTON_PIN, INPUT);
  pinMode(SECONDARY_BUTTON_PIN, INPUT);
  pinMode(TERTIARY_BUTTON_PIN, INPUT);
  pinMode(QUATERNARY_BUTTON_PIN, INPUT);
  pinMode(QUINARY_BUTTON_PIN, INPUT);
  pinMode(SENARY_BUTTON_PIN, INPUT);
  // Activate internal pull-up
  digitalWrite(PRIMARY_BUTTON_PIN, HIGH);
  digitalWrite(SECONDARY_BUTTON_PIN, HIGH);
  digitalWrite(TERTIARY_BUTTON_PIN, HIGH);
  digitalWrite(QUATERNARY_BUTTON_PIN, HIGH);
  digitalWrite(QUINARY_BUTTON_PIN, HIGH);
  digitalWrite(SENARY_BUTTON_PIN, HIGH);

  debouncer.attach(PRIMARY_BUTTON_PIN);
  debouncer.attach(SECONDARY_BUTTON_PIN);
  debouncer.attach(TERTIARY_BUTTON_PIN);
  debouncer.attach(QUATERNARY_BUTTON_PIN);
  debouncer.attach(QUINARY_BUTTON_PIN);
  debouncer.attach(SENARY_BUTTON_PIN);
  debouncer.interval(10);
}

void presentation()
{
  // Send the sketch version information to the gateway and Controller
  sendSketchInfo("Relay", "1.0");

  for (int sensor = 1, pin = RELAY_PIN; sensor <= NUMBER_OF_RELAYS; sensor++, pin++) {
    // Register all sensors to gw (they will be created as child devices)
    present(sensor, S_BINARY);
    wait( 50 );
  }

  present(PRIMARY_CHILD_ID, S_MOTION);
  present(SECONDARY_CHILD_ID, S_MOTION);
  present(TERTIARY_CHILD_ID, S_DOOR);
  present(QUATERNARY_CHILD_ID, S_LIGHT);
  present(QUINARY_CHILD_ID, S_LIGHT);
  present(SENARY_CHILD_ID, S_LIGHT);
  
}


void loop()
{
  uint8_t value;
  static uint8_t sentValue = 2;
  static uint8_t sentValue2 = 2;
  static uint8_t sentValue3 = 2;
  static uint8_t sentValue4 = 2;
  static uint8_t sentValue5 = 2;
  static uint8_t sentValue6 = 2;

  // Short delay to allow buttons to properly settle

  value = digitalRead(PRIMARY_BUTTON_PIN);

  if (value != sentValue) {
    // Value has changed from last transmission, send the updated value
    send(msg.set(value == HIGH ? 1 : 0));
    sentValue = value;
  }

  value = digitalRead(SECONDARY_BUTTON_PIN);

  if (value != sentValue2) {
    // Value has changed from last transmission, send the updated value
    send(msg2.set(value == HIGH ? 1 : 0));
    sentValue2 = value;
  }

  value = digitalRead(TERTIARY_BUTTON_PIN);

  if (value != sentValue3) {
    // Value has changed from last transmission, send the updated value
    send(msg3.set(value == HIGH ? 1 : 0));
    sentValue3 = value;
  }

  value = digitalRead(QUATERNARY_BUTTON_PIN);

  if (value != sentValue4) {
    // Value has changed from last transmission, send the updated value
    send(msg4.set(value == LOW ? 1 : 0));
    sentValue4 = value;
  }

  value = digitalRead(QUINARY_BUTTON_PIN);

  if (value != sentValue5) {
    // Value has changed from last transmission, send the updated value
    send(msg5.set(value == LOW ? 1 : 0));
    sentValue5 = value;
  }

  value = digitalRead(SENARY_BUTTON_PIN);

  if (value != sentValue6) {
    // Value has changed from last transmission, send the updated value
    send(msg6.set(value == LOW ? 1 : 0));
    sentValue6 = value;
  }
}

void receive(const MyMessage &message)
{
  // We only expect one type of message from controller. But we better check anyway.
  if (message.getType() == V_STATUS) {
    // Change relay state
    digitalWrite(message.getSensor() - 1 + RELAY_PIN, message.getBool() ? RELAY_ON : RELAY_OFF);
    // Store state in eeprom
    saveState(message.getSensor(), message.getBool());
    // Write some debug info
    Serial.print("Incoming change for sensor:");
    Serial.print(message.getSensor());
    Serial.print(", New status: ");
    Serial.println(message.getBool());
  }
}

I config mysensors:

{
    "0": {
        "sensor_id": 0,
        "children": {},
        "type": 18,
        "sketch_name": null,
        "sketch_version": null,
        "battery_level": 0,
        "protocol_version": "2.3.2",
        "heartbeat": 0
    },
    "10": {
        "sensor_id": 10,
        "children": {
            "1": {
                "id": 1,
                "type": 3,
                "description": "",
                "values": {}
            },
            "2": {
                "id": 2,
                "type": 3,
                "description": "",
                "values": {}
            },
            "11": {
                "id": 11,
                "type": 1,
                "description": "",
                "values": {
                    "16": "0"
                }
            },
            "22": {
                "id": 22,
                "type": 1,
                "description": "",
                "values": {
                    "16": "0"
                }
            },
            "33": {
                "id": 33,
                "type": 0,
                "description": "",
                "values": {
                    "16": "0"
                }
            },
            "44": {
                "id": 44,
                "type": 3,
                "description": "",
                "values": {
                    "16": "0",
                    "2": "0"
                }
            },
            "55": {
                "id": 55,
                "type": 3,
                "description": "",
                "values": {
                    "16": "0",
                    "2": "0"
                }
            },
            "66": {
                "id": 66,
                "type": 3,
                "description": "",
                "values": {
                    "16": "0",
                    "2": "0"
                }
            }
        },
        "type": 18,
        "sketch_name": "Relay",
        "sketch_version": "1.0",
        "battery_level": 0,
        "protocol_version": "2.3.2",
        "heartbeat": 0
    }
}

Obstawiam że ID 1 oraz 2 to te nieszczęsne przekaźniki.
Czy ktoś wie gdzie popełniłem błąd?