message for V_tripped
-
Hello,
I use this code for detect water leak.
/** * 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 * * Interrupt driven binary switch example with dual interrupts * Author: Patrick 'Anticimex' Fallberg * Connect one button or door/window reed switch between * digitial I/O pin 3 (BUTTON_PIN below) and GND and the other * one in similar fashion on digital I/O pin 2. * This example is designed to fit Arduino Nano/Pro Mini * */ #include <MySensor.h> #include <SPI.h> #define SKETCH_NAME "Debordement Eau" #define SKETCH_MAJOR_VER "1" #define SKETCH_MINOR_VER "0" #define PRIMARY_CHILD_ID 3 #define SECONDARY_CHILD_ID 4 #define PRIMARY_BUTTON_PIN 2 // Arduino Digital I/O pin for button/reed switch #define SECONDARY_BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch #if (PRIMARY_BUTTON_PIN < 2 || PRIMARY_BUTTON_PIN > 3) #error PRIMARY_BUTTON_PIN must be either 2 or 3 for interrupts to work #endif #if (SECONDARY_BUTTON_PIN < 2 || SECONDARY_BUTTON_PIN > 3) #error SECONDARY_BUTTON_PIN must be either 2 or 3 for interrupts to work #endif #if (PRIMARY_BUTTON_PIN == SECONDARY_BUTTON_PIN) #error PRIMARY_BUTTON_PIN and BUTTON_PIN2 cannot be the same #endif #if (PRIMARY_CHILD_ID == SECONDARY_CHILD_ID) #error PRIMARY_CHILD_ID and SECONDARY_CHILD_ID cannot be the same #endif MySensor sensor_node; // 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); int oldValue=-1; int oldValue2=-1; void setup() { sensor_node.begin(); // Setup the buttons pinMode(PRIMARY_BUTTON_PIN, INPUT ); pinMode(SECONDARY_BUTTON_PIN, INPUT); // Activate internal pull-ups digitalWrite(PRIMARY_BUTTON_PIN, HIGH); digitalWrite(SECONDARY_BUTTON_PIN, HIGH); // Send the sketch version information to the gateway and Controller sensor_node.sendSketchInfo(SKETCH_NAME, SKETCH_MAJOR_VER"."SKETCH_MINOR_VER); // Register binary input sensor to sensor_node (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. sensor_node.present(PRIMARY_CHILD_ID, S_WATER_LEAK); sensor_node.present(SECONDARY_CHILD_ID, S_WATER_LEAK); } // Loop will iterate on changes on the BUTTON_PINs void loop() { // Alway process incoming messages whenever possible sensor_node.process(); int value; // Short delay to allow buttons to properly settle //sensor_node.wait(5); value = digitalRead(PRIMARY_BUTTON_PIN); if (value != oldValue) { // Value has changed from last transmission, send the updated value sensor_node.send(msg.set(value==HIGH ? 1 : 0)); oldValue = value; } value = digitalRead(SECONDARY_BUTTON_PIN); if (value != oldValue2) { // Value has changed from last transmission, send the updated value sensor_node.send(msg2.set(value==HIGH ? 1 : 0)); oldValue2 = value; } // Sleep until something happens with the sensor sensor_node.sleep(PRIMARY_BUTTON_PIN-2, CHANGE, SECONDARY_BUTTON_PIN-2, CHANGE, 0); }
But the value received with sensor_node.send(msg.set(value==HIGH ? 1 : 0)); are not 0 or 1 but 1073741824 or 1073741825.
What is wrong ?
Thank you.
Chdid
-
What version/type of gateway are you running?
Seems like the type sent isn't interpreted correctly. Are you running beta on the gw?
Quick-fix .. Send "1" or "0".
-
I'am running a gateway on an ESP8266.
I take the last version of the ESP8266 gateway. It's OK.
Thank you
Chdid