Navigation

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

    Topics created by flopp

    • flopp

      Selling: Temp, Hum Si7021
      Hardware • • flopp  

      1
      0
      Votes
      1
      Posts
      31
      Views

      No one has replied

    • flopp

      Shunt motor/valve
      My Project • • flopp  

      1
      2
      Votes
      1
      Posts
      391
      Views

      No one has replied

    • flopp

      Repeater getting NACK
      Domoticz • • flopp  

      10
      0
      Votes
      10
      Posts
      1295
      Views

      FlyingDomotic

      Ad=s far I understand, we're speaking about radio ACK, which just confirm the right reception on the message, what could be sent. Then, that's gateway that can understand message contents. If senders returns NACK, it just means that no radio ACK has been received from the other end within timeout (set to 1500 ms with MySensors' setup, running @ 250 kb/s, with 15 retries). That's exactly what happens when sending message and receiver off. In the current issue, as you're on a repeater, you're in a good position to be in a position of receiving a message, and sending immediately another one (we can also have the same thing if implementing signature), were timing issues may happen.
    • flopp

      MySensors suddenly stop working [solved]
      Domoticz • • flopp  

      8
      0
      Votes
      8
      Posts
      1530
      Views

      flopp

      SOLVED please see first post
    • flopp

      Water leak sensor
      My Project • • flopp  

      6
      2
      Votes
      6
      Posts
      2671
      Views

      flopp

      @helvetian Thanks. I am using Domoticz as Controller. After you first start-up of node you will get a Light device, change this device to Dimmer, then in Setup-Hardware-MySensorsSetup, select Node then select Child for SleepTime and disable Ack.
    • flopp

      You Have I Need
      General Discussion • • flopp  

      8
      0
      Votes
      8
      Posts
      1147
      Views

      sundberg84

      @flopp electrokit is in Malmö and should be open today. Order pickup and you will have the parts later today.
    • flopp

      My own library with MyS commands
      My Project • • flopp  

      3
      0
      Votes
      3
      Posts
      1051
      Views

      flopp

      @Yveaux Thanks, i will have a look at it
    • flopp

      fody weather station, wind sensor
      Hardware • weather wind winddirection gust hyt221 windspeed fody hyt ht01d weather station • • flopp  

      36
      0
      Votes
      36
      Posts
      11797
      Views

      Dan_n_e

      Hello, I have followed your build and are about to to a similar reverse engineering of a weather station but my winddirection look different and Ineed some input on how I can fix it. On my there are 8 IR leds on the perimiter and 4 IR sensitiv transistors in the middle. The outer leds are wired 2 and 2 with all the odds having common GND and all the even have common GND. So i have problem on how to turn the led on 1 by 1. Any inputs?
    • flopp

      Discount on Z-wave, clas ohlson
      General Discussion • • flopp  

      4
      1
      Votes
      4
      Posts
      1173
      Views

      flopp

      @bjacobse
    • flopp

      Rain Gauge, error double send/trigger [SOLVED]
      Troubleshooting • • flopp  

      3
      0
      Votes
      3
      Posts
      903
      Views

      flopp

      SOLVED I added delay(1000); here resend((lastCounterMsg.set(hwRainVolume,2)),10); delay(1000); }
    • flopp

      IKEA Spöke/Spoke(ghost)
      My Project • • flopp  

      3
      4
      Votes
      3
      Posts
      3861
      Views

      flopp

      @Yveaux Thanks. I used alcohol to put the silicone back. I have add that information in the post
    • flopp

      Copy code from posts
      Feature Requests • • flopp  

      1
      2
      Votes
      1
      Posts
      721
      Views

      No one has replied

    • flopp

      Read voltage VCC, strange measurement[solved]
      General Discussion • • flopp  

      6
      0
      Votes
      6
      Posts
      1922
      Views

      flopp

      @Yveaux I don't know because the battery was old when I started to use it. Home made pcb. Report every 30 minutes. No cap on battery. Take a look at this graph. This may be a new battery, don't remember. Has been running since 1/4 2016
    • flopp

      Radio FAIL after ~3 weeks [SOLVED]
      Troubleshooting • • flopp  

      61
      0
      Votes
      61
      Posts
      17423
      Views

      tboha

      @Reza: I tried to reproduce the errors shown by your log. Part of the errors could be reproduced. So if you are leaving range of stable connections, node will try to get an new parent (within range). So broadcasting for new parent is "normal". As long as there is no valid connection node will reject sending messages because "Transport Not Ready". So this is "normal", too. Leaving range resulted in one or two NACK, then connection died quietly. I never got this amount of NACK you got. I could not reproduce !TSF:MSG:LEN:0!=8 or something similar. This means the message has been crippled (possibly). Reviewing logs and testing on my configuration revealed no clue to defective Chips (in regard to NRF24L01). Chips could be fake though, but at least software functions seem to be ok. Fake NRF modules are reported to have very varying (worse) connection distances, sometimes down to a few (possibly only one) meter(s). Maybe -- may be not. There are two major differences between our setups. I am currently not working with ACKs, I will test this tomorrow. Second - I got no actual relays connected (only LEDs). You reported transmission break down simultaneously to pressing switches at higher rate. Are you supplying DC for relays from Arduino or from separate DC-supply? Have you made any arrangement preventing inductive spikes (ferrite rings, self-induction recuperation diode etc) ? If you simply unhook your relays and try again - you get better results? (since your non-inductive sensors work well). If this will turnout true - you may give Solid-State-Relais a try.
    • flopp

      Merry Christmas and Happy New Year
      General Discussion • • flopp  

      5
      0
      Votes
      5
      Posts
      1186
      Views

      bjacobse

      Yes Glædeligt jul
    • flopp

      analogRead only works in Arduino IDE[solved]
      Troubleshooting • • flopp  

      1
      0
      Votes
      1
      Posts
      711
      Views

      No one has replied

    • flopp

      IKEA trådfri
      Hardware • ikea tradfri trådfri • • flopp  

      13
      0
      Votes
      13
      Posts
      15871
      Views

      Yveaux

      @nikgru extensive teardown of the lamp (German, but you know how to translate) : https://m.heise.de/make/artikel/Ikea-Tradfri-Das-steckt-im-Smart-Home-aus-dem-Moebelhaus-3597295.html?wt_ref=http%3A%2F%2Fhackaday.com%2Fblog%2F&wt_t=1486396685063
    • flopp

      Energy Meter - not sending at expected
      Troubleshooting • • flopp  

      18
      0
      Votes
      18
      Posts
      4760
      Views

      flopp

      I think I found it. if (interval<10000L) { // Sometimes we get interrupt on RISING return; } It seems to be that my interrupt is to quick. above code is default if I change to if (interval<35000L) { // Sometimes we get interrupt on RISING return; } it will calculate Watt as I think it should be. I will let it run for a week and see if kWh is OK now.
    • flopp

      Example code - DallasTemperatureSensor.ino
      Feature Requests • • flopp  

      8
      0
      Votes
      8
      Posts
      2334
      Views

      flopp

      @mfalkvidd
    • flopp

      nRF frequency and channels
      Troubleshooting • nrf24l01+ frequency nrf ghz • • flopp  

      5
      0
      Votes
      5
      Posts
      25189
      Views

      flopp

      @korttoma You were right
    • flopp

      ClearEepromConfig
      Bug Reports • • flopp  

      3
      0
      Votes
      3
      Posts
      1201
      Views

      flopp

      I think I have very old MySensor library, 1 year at least. Thank you you can close this
    • flopp

      two energy meter
      My Project • • flopp  

      4
      0
      Votes
      4
      Posts
      2627
      Views

      flopp

      I couldn't just lay down in the sofa so I started to test and now I got a code that seems to work. I have tested it for a few days and it seems to count correct. I made some changes so it will send data every minute and it will send Watt-value even if it is the same value since last time. I am using VAR2 for second energy meter since I don't know how to config Incomingmessage and seperate VAR1 from different Child_IDs. I change corrupted interrupts from 10000L to 40000L otherwise it reported interrupts twice. /** * 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. * ******************************* * * REVISION HISTORY * Version 1.0 - Henrik Ekblad * * DESCRIPTION * Use this sensor to measure kWh and Watt of your house meter * You need to set the correct pulsefactor of your meter (blinks per kWh). * The sensor starts by fetching current kWh value from gateway. * Reports both kWh and Watt back to gateway. * * Unfortunately millis() won't increment when the Arduino is in * sleepmode. So we cannot make this sensor sleep if we also want * to calculate/report watt-number. * http://www.mysensors.org/build/pulse_power */ #include <SPI.h> #include <MySensor.h> unsigned long SEND_FREQUENCY = 60000; // Minimum time between send (in milliseconds). We don't want to spam the gateway. #define SLEEP_MODE false // Watt-value can only be reported when sleep mode is false. //sensor 1 #define DIGITAL_INPUT_SENSOR_1 2 // The digital input you attached your light sensor. (Only 2 and 3 generates interrupt!) #define PULSE_FACTOR_1 1000 // Number of blinks per KWH of your meeter #define MAX_WATT_1 10000 // Max watt value to report. This filters outliers. #define INTERRUPT_1 DIGITAL_INPUT_SENSOR_1-2 // Usually the interrupt = pin -2 (on uno/nano anyway) #define CHILD_ID_1 1 // Id of the sensor child //sensor 2 #define DIGITAL_INPUT_SENSOR_2 3 // The digital input you attached your light sensor. (Only 2 and 3 generates interrupt!) #define PULSE_FACTOR_2 10000 // Number of blinks per KWH of your meeter #define MAX_WATT_2 10000 // Max watt value to report. This filters outliers. #define INTERRUPT_2 DIGITAL_INPUT_SENSOR_2-2 // Usually the interrupt = pin -2 (on uno/nano anyway) #define CHILD_ID_2 2 // Id of the sensor child MySensor gw; //sensor 1 double ppwh_1 = ((double)PULSE_FACTOR_1)/1000; // Pulses per watt hour boolean pcReceived_1 = false; volatile unsigned long pulseCount_1 = 0; volatile unsigned long lastBlink_1 = 0; volatile unsigned long watt_1 = 0; unsigned long oldPulseCount_1 = 0; unsigned long oldWatt_1 = 0; double oldKwh_1; unsigned long lastSend_1; //sensor 2 double ppwh_2 = ((double)PULSE_FACTOR_2)/1000; // Pulses per watt hour boolean pcReceived_2 = false; volatile unsigned long pulseCount_2 = 0; volatile unsigned long lastBlink_2 = 0; volatile unsigned long watt_2 = 0; unsigned long oldPulseCount_2 = 0; unsigned long oldWatt_2 = 0; double oldKwh_2; unsigned long lastSend_2; //sensor 1 MyMessage wattMsg_1(CHILD_ID_1,V_WATT); MyMessage kwhMsg_1(CHILD_ID_1,V_KWH); MyMessage pcMsg_1(CHILD_ID_1,V_VAR1); //sensor 2 MyMessage wattMsg_2(CHILD_ID_2,V_WATT); MyMessage kwhMsg_2(CHILD_ID_2,V_KWH); MyMessage pcMsg_2(CHILD_ID_2,V_VAR2); void setup() { gw.begin(incomingMessage); // Send the sketch version information to the gateway and Controller gw.sendSketchInfo("Energy Double", "1.0"); // Register this device as power sensor //sensor 1 gw.present(CHILD_ID_1, S_POWER); //sensor 2 gw.present(CHILD_ID_2, S_POWER); //Send new VAR to Gateway //gw.send(pcMsg_1.set(xxxxxxxxx)); // Send pulse count value to gw //gw.send(pcMsg_2.set(1895931000)); // Send pulse count value to gw // Fetch last known pulse count value from gw //sensor 1 gw.request(CHILD_ID_1, V_VAR1); //sensor 2 gw.request(CHILD_ID_2, V_VAR2); //sensor 1 attachInterrupt(INTERRUPT_1, onPulse_1, RISING); //sensor 2 attachInterrupt(INTERRUPT_2, onPulse_2, RISING); lastSend_1=millis(); lastSend_2=millis(); } void loop() { gw.process(); //sensor 1 unsigned long now_1 = millis(); // Only send values at a maximum frequency or woken up from sleep bool sendTime_1 = now_1 - lastSend_1 > SEND_FREQUENCY; if (pcReceived_1 && (SLEEP_MODE || sendTime_1)) { // New watt value has been calculated //if (!SLEEP_MODE && watt_1 != oldWatt_1) { // Check that we dont get unresonable large watt value. // could hapen when long wraps or false interrupt triggered if (watt_1<((unsigned long)MAX_WATT_1)) { gw.send(wattMsg_1.set(watt_1)); // Send watt value to gw } Serial.print("Watt_1:"); Serial.println(watt_1); oldWatt_1 = watt_1; //} // Pulse cout has changed if (pulseCount_1 != oldPulseCount_1) { gw.send(pcMsg_1.set(pulseCount_1)); // Send pulse count value to gw double kwh_1 = ((double)pulseCount_1/((double)PULSE_FACTOR_1)); oldPulseCount_1 = pulseCount_1; //if (kwh_1 != oldKwh_1) { gw.send(kwhMsg_1.set(kwh_1, 4)); // Send kwh value to gw oldKwh_1 = kwh_1; //} } lastSend_1 = now_1; } else if (sendTime_1 && !pcReceived_1) { // No count received. Try requesting it again gw.request(CHILD_ID_1, V_VAR1); lastSend_1=now_1; } //sensor 2 unsigned long now_2 = millis(); // Only send values at a maximum frequency or woken up from sleep bool sendTime_2 = now_2 - lastSend_2 > SEND_FREQUENCY; if (pcReceived_2 && (SLEEP_MODE || sendTime_2)) { // New watt value has been calculated //if (!SLEEP_MODE && watt_2 != oldWatt_2) { // Check that we dont get unresonable large watt value. // could hapen when long wraps or false interrupt triggered if (watt_2<((unsigned long)MAX_WATT_2)) { gw.send(wattMsg_2.set(watt_2)); // Send watt value to gw } Serial.print("Watt_2:"); Serial.println(watt_2); oldWatt_2 = watt_2; //} // Pulse cout has changed if (pulseCount_2 != oldPulseCount_2) { gw.send(pcMsg_2.set(pulseCount_2)); // Send pulse count value to gw double kwh_2 = ((double)pulseCount_2/((double)PULSE_FACTOR_2)); oldPulseCount_2 = pulseCount_2; //if (kwh_2 != oldKwh_2) { gw.send(kwhMsg_2.set(kwh_2, 4)); // Send kwh value to gw oldKwh_2 = kwh_2; //} } lastSend_2 = now_2; } else if (sendTime_2 && !pcReceived_2) { // No count received. Try requesting it again gw.request(CHILD_ID_2, V_VAR2); lastSend_2=now_2; } if (SLEEP_MODE) { gw.sleep(SEND_FREQUENCY); } } void incomingMessage(const MyMessage &message) { if (message.type==V_VAR1) { pulseCount_1 = oldPulseCount_1 = message.getLong(); Serial.print("Received_1 last pulse count from gw:"); Serial.println(pulseCount_1); pcReceived_1 = true; } if (message.type==V_VAR2) { pulseCount_2 = oldPulseCount_2 = message.getLong(); Serial.print("Received_2 last pulse count from gw:"); Serial.println(pulseCount_2); pcReceived_2 = true; } } void onPulse_1() { if (!SLEEP_MODE) { unsigned long newBlink_1 = micros(); unsigned long interval_1 = newBlink_1-lastBlink_1; if (interval_1<40000L) { // Sometimes we get interrupt on RISING return; } watt_1 = (3600000000.0 /interval_1) / ppwh_1; lastBlink_1 = newBlink_1; } //Serial.println(pulseCount_1); pulseCount_1++; //Serial.println(pulseCount_1); } void onPulse_2() { if (!SLEEP_MODE) { unsigned long newBlink_2 = micros(); unsigned long interval_2 = newBlink_2-lastBlink_2; if (interval_2<40000L) { // Sometimes we get interrupt on RISING return; } watt_2 = (3600000000.0 /interval_2) / ppwh_2; lastBlink_2 = newBlink_2; } //Serial.println(pulseCount_2); pulseCount_2++; //Serial.println(pulseCount_2); }
    • flopp

      EnergyMeterPulseSensor
      Bug Reports • • flopp  

      1
      1
      Votes
      1
      Posts
      687
      Views

      No one has replied

    • flopp

      How to downgrade library update
      Troubleshooting • • flopp  

      4
      0
      Votes
      4
      Posts
      1903
      Views

      flopp

      I maybe found the solution. Download the version you had from here https://github.com/mysensors/MySensors/releases then copy Library folder from file to your Arduino installation. I should be great if you can add a text on the page https://www.mysensors.org/about/arduino#installing-the-sensor-libraries that the user is recommended to make a copy before you updating library
    • flopp

      Repeater Node, problems
      Domoticz • • flopp  

      19
      2
      Votes
      19
      Posts
      7029
      Views

      flopp

      I have some posts here for same problem https://forum.mysensors.org/topic/4079/my-best-nrf24l01-pa-lna-node-gateway-repeater-so-far/9
    • flopp

      Fusebit doctor
      General Discussion • • flopp  

      5
      0
      Votes
      5
      Posts
      1195
      Views

      flopp

      @Yveaux Thanks. seems to be same kind of board but it is a Shield for UNO, nice. 3 pieces for the shield is USD 19, I can afford that myself
    • flopp

      Burn bootloader while NRF24L01 is connected
      Troubleshooting • • flopp  

      11
      0
      Votes
      11
      Posts
      2162
      Views

      flopp

      I am using IDE 1.6.8
    • flopp

      Wrong spelling in FAQ Guide
      Troubleshooting • • flopp  

      2
      0
      Votes
      2
      Posts
      580
      Views

      mfalkvidd

      @flopp fixed! Thanks for noticing.
    • flopp

      instead of build-in LUA
      Domoticz • • flopp  

      1
      0
      Votes
      1
      Posts
      748
      Views

      No one has replied

    • flopp

      LUA, send email when device has not report
      Domoticz • • flopp  

      1
      4
      Votes
      1
      Posts
      2074
      Views

      No one has replied

    • flopp

      LUA, send email when Temperature is high
      Domoticz • • flopp  

      1
      2
      Votes
      1
      Posts
      3271
      Views

      No one has replied

    • flopp

      About DS18B20 onewire.
      Hardware • ds18b20 dallas one wire onewire • • flopp  

      48
      0
      Votes
      48
      Posts
      12289
      Views

      pepson

      But.... Can you also help me to add to this sketch option to send to example to Home Assistant also DESCRIPTION to each sensors ? And description will be get from sketch from name about address sensor ? As in this sketch which i have for relay: #define USE_EXPANDER // Enable debug prints to serial monitor //#define MY_DEBUG #define MY_GATEWAY_SERIAL #include <MySensors.h> #include <Bounce2.h> #ifdef USE_EXPANDER #include <Wire.h> // Required for I2C communication #include "PCF8574.h" uint8_t expanderAddresses[] = {0x20}; const int numberOfExpanders = sizeof(expanderAddresses); PCF8574 expander[numberOfExpanders]; #define E(expanderNo, ExpanderPin) (((expanderNo+1)<<8) | (ExpanderPin)) #endif // No Button Constant #define NOB -1 #define MULTI_RELAY_VERSION 9 #define RELAY_STATE_STORAGE 1 const uint8_t RELAY_TRIGGER_LOW = 0; const uint8_t RELAY_TRIGGER_HIGH = 1; const uint8_t RELAY_STARTUP_ON = 2; const uint8_t RELAY_STARTUP_OFF = 4; const uint8_t RELAY_STARTUP_MASK = RELAY_STARTUP_ON | RELAY_STARTUP_OFF; enum ButtonType { MONO_STABLE = 0, BI_STABLE = 1, DING_DONG = 2 // HIGH state immediatly after push, LOW state after release }; typedef struct { int sensorId; int relay; int button; uint8_t relayOptions; ButtonType buttonType; const char * relayDescription; } RelayButton; // CONFIGURE ONLY THIS ARRAY! // Row params: sensor ID - sensor ID reported on MySensor Gateway // relay pin - Expander supported // button pin - <0 for virtual buttons (only available in MySensor Gateway); no support for Expander // relay options - [RELAY_TRIGGER_LOW|RELAY_TRIGGER_HIGH] {RELAY_STARTUP_ON|RELAY_STARTUP_OFF} // button type - [MONO_STABLE|BI_STABLE|DING_DONG] // relay description - reported on MySensor Gateway, can help identify device on initial configuration in Home Automation App, can be empty ("") RelayButton myRelayButtons[] = { {0, 2, A0, RELAY_TRIGGER_LOW, MONO_STABLE, "Ł2 - kinkiet [C10]"}, // WŁ: Ł2 {1, 16, A1, RELAY_TRIGGER_LOW, BI_STABLE, "Salon 2 [A9]"}, // WŁ: Salon 2 {2, 15, A2, RELAY_TRIGGER_LOW, BI_STABLE, "Salon 1 [A10]"}, // WŁ: Salon 1 {3, E(0,1), A3, RELAY_TRIGGER_LOW | RELAY_STARTUP_OFF, BI_STABLE, "Halogen - Taras [B8]"}, // WŁ: Taras {4, 22, A4, RELAY_TRIGGER_LOW, BI_STABLE, "Kuchnia [B2]"}, // WŁ: Kuchnia 1 {5, 23, A5, RELAY_TRIGGER_LOW, BI_STABLE, "Kuchnia - Kinkiet [B3]"}, // WŁ: Kuchnia 2 {6, 28, A6, RELAY_TRIGGER_LOW, BI_STABLE, "Jadalnia 2 [A4]"}, // WŁ: Hall I/Jadalnia prawy {17, 17, A7, RELAY_TRIGGER_LOW, BI_STABLE, "Ł1 - Kinkiet [A11]"}, // WŁ: Hall I/Ł1 prawy {8, 31, A8, RELAY_TRIGGER_LOW, MONO_STABLE, "Garaż [A7]"}, // WŁ: Kotłownia/Garaż {8, 31, A9, RELAY_TRIGGER_LOW, MONO_STABLE, "Garaż [A7]"}, // WŁ: Garaż {10, 14, A10, RELAY_TRIGGER_LOW | RELAY_STARTUP_ON, BI_STABLE, "Halogen - wejście [B4]"}, // WŁ: Drzwi wejściowe {11, E(0,7), A11, RELAY_TRIGGER_LOW, DING_DONG, "Dzwonek [?]"}, // WŁ: Dzwonek {12, 29, A12, RELAY_TRIGGER_LOW, BI_STABLE, "Hall 1 [A5]"}, // WŁ: Hall I/Jadalnia lewy {12, 29, A13, RELAY_TRIGGER_LOW, BI_STABLE, "Hall 1 [A5]"}, // WŁ: Hall I/Wiatrołap {14, 32, A14, RELAY_TRIGGER_LOW, BI_STABLE, "Wiatrołap [A8]"}, // WŁ: Wiatrołap/Hall I {15, 19, A15, RELAY_TRIGGER_LOW, MONO_STABLE, "Kotłownia [B1]"}, // WŁ: Kotłownia/Hall I {16, 24, 53, RELAY_TRIGGER_LOW, BI_STABLE, "Ł1 - Taśma LED [C1]"}, // WŁ: Hall I/Ł1 środek {17, 17, 52, RELAY_TRIGGER_LOW, MONO_STABLE, "Ł1 - Kinkiet [A11]"}, // WŁ: Ł1 {18, 18, 51, RELAY_TRIGGER_LOW, BI_STABLE, "Ł1 [A12]"}, // WŁ: Hall I/Ł1 lewy {19, 6, 50, RELAY_TRIGGER_LOW, BI_STABLE, "Klatka Schodowa [B7]"}, // WŁ: Hall I/Schody 1 {12, 29, 49, RELAY_TRIGGER_LOW, BI_STABLE, "Hall 1 [A5]"}, // WŁ: Hall I/Schody 2 {21, 26, 48, RELAY_TRIGGER_LOW, BI_STABLE, "Gabinet [A2]"}, // WŁ: Gabinet {22, 7, 47, RELAY_TRIGGER_LOW, BI_STABLE, "Hall 2 [B5]"}, // WŁ: Hall II/Schody 1 {19, 6, 46, RELAY_TRIGGER_LOW, BI_STABLE, "Klatka Schodowa [B7]"}, // WŁ: Hall II/Schody 2 {24, 10, 45, RELAY_TRIGGER_LOW, BI_STABLE, "Garderoba [C12]"}, // WŁ: Garderoba {25, 4, 44, RELAY_TRIGGER_LOW, MONO_STABLE, "Pok. nad kuchnią 2 [B10]"}, // WŁ: Pok. nad kuchnią 2 {26, 5, 43, RELAY_TRIGGER_LOW, BI_STABLE, "Pok. nad kuchnią 1 [B9]"}, // WŁ: Pok. nad kuchnią 1 {27, 8, 42, RELAY_TRIGGER_LOW, BI_STABLE, "Pok. nad salonem 2 [B12]"}, // WŁ: Pok. nad salonem 2 {28, 9, 41, RELAY_TRIGGER_LOW, MONO_STABLE, "Pok. nad salonem 1 [B11]"}, // WŁ: Pok. nad salonem 1 {29, 3, 40, RELAY_TRIGGER_LOW, BI_STABLE, "Ł2 [C7]"}, // WŁ: Hall II/Ł2 1 {30, E(0,3), 39, RELAY_TRIGGER_LOW, BI_STABLE, "Ł2 - Taśma LED [?]"}, // WŁ: Hall II/Ł2 2 {22, 7, 38, RELAY_TRIGGER_LOW, BI_STABLE, "Hall 2 [B5]"}, // WŁ: Hall II/Sypialnia {32, 11, 37, RELAY_TRIGGER_LOW, BI_STABLE, "Sypialnia 2 [C9]"}, // WŁ: Sypialnia 2 {33, 12, 36, RELAY_TRIGGER_LOW, BI_STABLE, "Sypialnia 1 [C8]"}, // WŁ: Sypialnia 1 {34, 25, -1, RELAY_TRIGGER_LOW | RELAY_STARTUP_ON, MONO_STABLE, "Halogen - Garaż [A1]"}, // WŁ: Virtual Button 1 {35, 30, -2, RELAY_TRIGGER_LOW | RELAY_STARTUP_OFF, MONO_STABLE, "Ł1 - Wentylator [A3]"}, // WŁ: Virtual Button 2 {36, E(0,2), -3, RELAY_TRIGGER_LOW | RELAY_STARTUP_OFF, MONO_STABLE, "Halogen - wschód [B6]"}, // WŁ: Virtual Button 3 {37, E(0,4), -4, RELAY_TRIGGER_LOW, MONO_STABLE, "Lampki schodowe [C6]"}, // WŁ: Virtual Button 4 {38, E(0,5), -5, RELAY_TRIGGER_LOW, MONO_STABLE, "Lampki podłogowe I [C4]"}, // WŁ: Virtual Button 5 {39, E(0,6), -6, RELAY_TRIGGER_LOW, MONO_STABLE, "Lampki podłogowe II [C2]"}, // WŁ: Virtual Button 6 {40, E(0,0), -7, RELAY_TRIGGER_LOW | RELAY_STARTUP_OFF, MONO_STABLE, "Ł2 - wentylator [C11]"}, // WŁ: Virtual Button 7 }; const int numberOfRelayButtons = sizeof(myRelayButtons) / sizeof(RelayButton); typedef struct { int firstButton; int nextButton; } RelayMultiButtons; RelayMultiButtons relayMultiButtons[numberOfRelayButtons]; uint8_t myRelayState[numberOfRelayButtons]; // MySensors - Sending Data // To send data you have to create a MyMessage container to hold the information. MyMessage msgs[numberOfRelayButtons]; Bounce myButtonDebouncer[numberOfRelayButtons]; //Function Declaration uint8_t loadRelayState(int relayNum, uint8_t forceEeprom = 0); void saveRelayState(int relayNum, uint8_t state, uint8_t useEeprom); void saveRelayState(int relayNum, uint8_t state); void changeRelayState(int relayNum, uint8_t relayState); // MySensors - This will execute before MySensors starts up void before() { Serial.begin(115200); #ifdef USE_EXPANDER /* Start I2C bus and PCF8574 instance */ for(int i = 0; i < numberOfExpanders; i++) { expander[i].begin(expanderAddresses[i]); } #endif // initialize multiple buttons list structure for (int i = 0; i < numberOfRelayButtons; i++) { relayMultiButtons[i].firstButton = -1; relayMultiButtons[i].nextButton = -1; } // find multiple buttons for the same relay (uni-directional list) for (int i = 0; i < numberOfRelayButtons-1; i++) { if (relayMultiButtons[i].firstButton == -1) { int prevRelayButton = i; for (int j = i+1; j < numberOfRelayButtons; j++) { if (myRelayButtons[i].relay == myRelayButtons[j].relay) { relayMultiButtons[prevRelayButton].firstButton = i; relayMultiButtons[prevRelayButton].nextButton = j; relayMultiButtons[j].firstButton = i; prevRelayButton = j; } } } } // if version has changed, reset state of all relays int versionChangeResetState = (MULTI_RELAY_VERSION == loadState(0) ) ? 0 : 1; for (int i = 0; i < numberOfRelayButtons; i++) { // if this relay has multiple buttons, load only first if (relayMultiButtons[i].firstButton == -1 || relayMultiButtons[i].firstButton == i) { // Then set relay pins in output mode #ifdef USE_EXPANDER if ( myRelayButtons[i].relay & 0xff00 ) { // EXPANDER int expanderNo = (myRelayButtons[i].relay >> 8) - 1; int expanderPin = myRelayButtons[i].relay & 0xff; expander[expanderNo].pinMode(expanderPin, OUTPUT); } else { #endif pinMode(myRelayButtons[i].relay, OUTPUT); #ifdef USE_EXPANDER } #endif uint8_t isTurnedOn = 0; if (myRelayButtons[i].relayOptions & RELAY_STARTUP_ON) { isTurnedOn = 1; } else if (myRelayButtons[i].relayOptions & RELAY_STARTUP_OFF) { } else { // Set relay to last known state (using eeprom storage) isTurnedOn = loadRelayState(i, 1); // 1 - true, 0 - false if (versionChangeResetState && isTurnedOn) { saveRelayState(i, 0, 1); isTurnedOn = 0; } } changeRelayState(i, isTurnedOn); myRelayState[i] = isTurnedOn; } } if (versionChangeResetState) { // version has changed, so store new version in eeporom saveState(0, MULTI_RELAY_VERSION); } } // executed AFTER mysensors has been initialised void setup() { for(int i = 0; i < numberOfRelayButtons; i++) { if (myRelayButtons[i].button >= 0) { // No Expander support for buttons (de-bouncing) pinMode(myRelayButtons[i].button, INPUT_PULLUP); // HIGH state when button is not pushed } } // Setup locally attached sensors delay(5000); // Send state to MySensor Gateway for(int i = 0; i < numberOfRelayButtons; i++) { // if this relay has multiple buttons, send only first if (relayMultiButtons[i].firstButton == -1 || relayMultiButtons[i].firstButton == i) { msgs[i] = MyMessage(myRelayButtons[i].sensorId, V_LIGHT); uint8_t relayState; if (myRelayButtons[i].relayOptions & RELAY_STARTUP_ON) { relayState = 1; } else if (myRelayButtons[i].relayOptions & RELAY_STARTUP_OFF) { relayState = 0; } else { relayState = loadRelayState(i); } send(msgs[i].set(relayState)); // send current state } } // Setup buttons for(int i = 0; i < numberOfRelayButtons; i++) { if (myRelayButtons[i].button >= 0) { // setup debouncer myButtonDebouncer[i] = Bounce(); myButtonDebouncer[i].attach(myRelayButtons[i].button); myButtonDebouncer[i].interval(50); } } } void loop() { for(int i = 0; i < numberOfRelayButtons; i++) { if (myRelayButtons[i].button >= 0 && myButtonDebouncer[i].update()) { int buttonState = myButtonDebouncer[i].read(); #ifdef MY_DEBUG Serial.print("# Button "); Serial.print(i); Serial.print(" changed to: "); Serial.println(buttonState); #endif int relayNum = (relayMultiButtons[i].firstButton == -1) ? i : relayMultiButtons[i].firstButton; if (myRelayButtons[i].buttonType == DING_DONG) { if (buttonState == LOW) { // button pressed changeRelayState(relayNum, 1); send(msgs[relayNum].set(1)); } else { // button released changeRelayState(relayNum, 0); send(msgs[relayNum].set(0)); } } else if (myRelayButtons[i].buttonType == BI_STABLE || buttonState == HIGH) { // If button type is BI_STABLE, any change will toggle relay state // For MONO_STABLE, button must be pushed and released (HIGH) uint8_t isTurnedOn = ! loadRelayState(relayNum); // 1 - true, 0 - false changeRelayState(relayNum, isTurnedOn); send(msgs[relayNum].set(isTurnedOn)); saveRelayState(relayNum, isTurnedOn); } } } } // MySensors - Presentation // Your sensor must first present itself to the controller. // The presentation is a hint to allow controller prepare for the sensor data that eventually will come. // Executed after "before()" and before "setup()" in: _begin (MySensorsCore.cpp) > gatewayTransportInit() > presentNode() void presentation() { // Send the sketch version information to the gateway and Controller sendSketchInfo("Multi Relay", "1.2"); // Register every relay as separate sensor for (int i = 0; i < numberOfRelayButtons; i++) { // if this relay has multiple buttons, register only first if (relayMultiButtons[i].firstButton == -1 || relayMultiButtons[i].firstButton == i) { // Register all sensors to gw (they will be created as child devices) // void present(uint8_t childSensorId, uint8_t sensorType, const char *description, bool ack); // childSensorId - The unique child id you want to choose for the sensor connected to this Arduino. Range 0-254. // sensorType - The sensor type you want to create. // description An optional textual description of the attached sensor. // ack - Set this to true if you want destination node to send ack back to this node. Default is not to request any ack. present(myRelayButtons[i].sensorId, S_BINARY, myRelayButtons[i].relayDescription); } } } // MySensors - Handling incoming messages // Nodes that expects incoming data, such as an actuator or repeating nodes, // must implement the receive() - function to handle the incoming messages. // Do not sleep a node where you expect incoming data or you will lose messages. void receive(const MyMessage &message) { // We only expect one type of message from controller. But we better check anyway. if (message.type == V_STATUS) { uint8_t isTurnedOn = message.getBool(); // 1 - true, 0 - false changeRelayState(message.sensor, isTurnedOn); // Store state in eeprom if changed if (loadRelayState(message.sensor) != isTurnedOn) { saveRelayState(message.sensor, isTurnedOn); } send(msgs[message.sensor].set(isTurnedOn)); // support for OPTIMISTIC=FALSE (Home Asistant) #ifdef MY_DEBUG // Write some debug info Serial.print("# Incoming change for sensor: " + message.sensor); Serial.println(", New status: " + isTurnedOn); #endif } } uint8_t loadRelayState(int relayNum, uint8_t forceEeprom) { uint8_t relayState; if (forceEeprom) { relayState = loadState(RELAY_STATE_STORAGE + relayNum); } else { relayState = myRelayState[relayNum]; } #ifdef MY_DEBUG Serial.print("# loadRelayState: "); Serial.print(relayNum); if (forceEeprom) { Serial.print("(byte "); Serial.print(RELAY_STATE_STORAGE + relayNum); Serial.print(")"); } Serial.print(" = "); Serial.println(relayState); #endif return(relayState); } void saveRelayState(int relayNum, uint8_t state, uint8_t useEeprom) { int mainRelayNum = (relayMultiButtons[relayNum].firstButton == -1) ? relayNum : relayMultiButtons[relayNum].firstButton; myRelayState[mainRelayNum] = state; if (useEeprom && (relayNum == mainRelayNum)) { saveState(RELAY_STATE_STORAGE + mainRelayNum, state); } int nextButton = mainRelayNum; // update all buttons while ((nextButton = relayMultiButtons[nextButton].nextButton) != -1) { myRelayState[nextButton] = state; }; } void saveRelayState(int relayNum, uint8_t state) { uint8_t useEeprom = ((myRelayButtons[relayNum].relayOptions & RELAY_STARTUP_MASK) == 0); saveRelayState(relayNum, state, useEeprom); } void changeRelayState(int relayNum, uint8_t relayState) { uint8_t relayTrigger = myRelayButtons[relayNum].relayOptions & RELAY_TRIGGER_HIGH; uint8_t digitalOutState = relayState ? relayTrigger : ! relayTrigger; #ifdef USE_EXPANDER if ( myRelayButtons[relayNum].relay & 0xff00 ) { int expanderNo = (myRelayButtons[relayNum].relay >> 8) - 1; int expanderPin = myRelayButtons[relayNum].relay & 0xff; expander[expanderNo].digitalWrite(expanderPin, digitalOutState); } else { #endif digitalWrite(myRelayButtons[relayNum].relay, digitalOutState); #ifdef USE_EXPANDER } #endif } And in Home assistant show example decription: Ł2 - kinkiet [C10] or for second Salon 2 [A9] etc. Please help me... because it will be good to identify sensors when add to Controller.
    • flopp

      Solar Powered Soil Moisture Sensor
      My Project • • flopp  

      79
      10
      Votes
      79
      Posts
      37753
      Views

      ricorico94

      Hi, I started building this great idea of solar powered soil moisture sensor. Not integrated yet in a solar light as above, but still on my desk. I tested the sensor in salted water and I get a report of 78% moisture : based on your experience, is it normal ? Then I pushed the sensor in a very humid plant pot and read 71%. I would have expected mroe differenc ecompared to salted water. So, would you advise to caliber ? I guess I could modify the calculation formula in the script.. Precisely, is it possible with Mysensor technology and Domoticz to push to a sensor a new setting (for instance to caliber using Domoticz each different sensor) ? And another question.. Is it possible to ask Domoticz to show the result of moisure reading in the Weather or Measures category rather than in the Temperature menu ? br, Ricorico94
    • flopp

      Two Domoticz, one Ethernet Gateway
      Domoticz • • flopp  

      4
      0
      Votes
      4
      Posts
      1625
      Views

      Valle

      Here is a simular thread https://forum.mysensors.org/topic/3891/2-controllers-and-1-gateway-expected-behavior/2
    • flopp

      nRF24L01+ long range, learn from my mistake
      Hardware • • flopp  

      1
      3
      Votes
      1
      Posts
      1511
      Views

      No one has replied

    • flopp

      nRF24l01+ align, direction, position
      Hardware • nrf24l01 location nrf direction aligntment point position • • flopp  

      3
      0
      Votes
      3
      Posts
      2724
      Views

      flopp

      @Oitzu Thanks. I have order an NRF with external antenna and will see if that helps
    • flopp

      Repeater and Request, not working
      Troubleshooting • • flopp  

      1
      0
      Votes
      1
      Posts
      416
      Views

      No one has replied

    • flopp

      Sleep forever without INTERRUPT, how?
      Troubleshooting • • flopp  

      5
      0
      Votes
      5
      Posts
      1410
      Views

      flopp

      @BartE Thanks that will be very useful in my sketch I am not running batteries
    • flopp

      Count car-starts
      My Project • • flopp  

      47
      0
      Votes
      47
      Posts
      12654
      Views

      flopp

      Version 1.13 changed to fixed NODE_ID // Made by Daniel Nilsson // Tested with Domoticz 3.5721 // 2016-12-10 #include <SPI.h> #include <MySensor.h> #define CHILD_ID 0 // Id of the sensor child #define NODE_ID 7 // a number or AUTO to let controller assign #define SKETCH_NAME "Car start counter" // Change to a fancy name you like #define SKETCH_VERSION "1.13" // Your version int Controller; // Current start counts from Controller, like Domoticz boolean pcReceived = false; // If we have recieved the start counts from Controller or not int starts; // summary of all starts to be sent to Controller int eeprom; // start counts read from/to be stored in EEPROM MySensor gw; MyMessage volumeMsg(CHILD_ID,V_RAIN); MyMessage lastCounterMsg(CHILD_ID,V_VAR1); void setup() { pinMode(3,OUTPUT); delay(2*45000); // Allow time if USB/cigarette plug is powered before you turned the key digitalWrite(3,HIGH); delay(300); digitalWrite(3,LOW); delay(300); digitalWrite(3,HIGH); delay(300); digitalWrite(3,LOW); //Begin gw.begin(incomingMessage, NODE_ID, false); // Send the Sketch Version Information to the Gateway gw.sendSketchInfo(SKETCH_NAME, SKETCH_VERSION); // Register this device as Rain sensor (will not show in Domoticz until first value arrives) gw.present(CHILD_ID, S_RAIN); Serial.println(""); eeprom = gw.loadState(0); // read EEPROM Serial.print(eeprom); // print EEPROM Serial.println(" starts have not been sent"); Serial.println("add 1 start"); Serial.print(eeprom); Serial.print("+1="); eeprom = eeprom + 1; Serial.println(eeprom); gw.saveState(0,eeprom); // store to EEPROM at position 0 Serial.println(""); Serial.println("Startup completed"); } void loop() { //See if we have the start counts from Controller - and ask for it if we dont. if (!pcReceived) { Serial.println("Request start counts"); gw.request(CHILD_ID, V_VAR1); gw.wait(1000); return; } Serial.println(""); eeprom = gw.loadState(0); // read EEPROM Serial.print(eeprom); Serial.println(" starts have not been sent"); Serial.print(Controller); Serial.println(" starts from Controller"); starts = Controller + eeprom; // total starts Serial.print(eeprom); Serial.print("+"); Serial.print(Controller); Serial.print("="); Serial.println(starts); Serial.print("Send "); Serial.print(starts); Serial.println(" to Controller"); Serial.println(""); if (!resend((volumeMsg.set(starts)), 6))return; if (!resend((lastCounterMsg.set(starts)), 6)) return; Serial.println(""); Serial.println("store 0 to EEPROM"); gw.saveState(0,0); // set 0 start to EEPROM, all have been sent Serial.println("sleep"); // mission accomplished digitalWrite(3,HIGH); delay(900); digitalWrite(3,LOW); while(1){} } // check if "st:fail" during gw.send, thanks n3ro bool resend(MyMessage &msg, int repeats) { int repeat = 1; boolean sendOK = false; int repeatdelay = 2000; while ((sendOK == false) and (repeat < repeats)) { if (gw.send(msg)) { sendOK = true; } else { sendOK = false; Serial.print("Error "); Serial.println(repeat); } repeat++; delay(repeatdelay); } if (sendOK == false && repeat == repeats){ return false; } return true; } //Read if we have a incoming message. void incomingMessage(const MyMessage &message) { if (message.type==V_VAR1) { Controller = message.getULong(); pcReceived = true; Serial.print("Received start counts from Controller: "); Serial.println(Controller); } }
    • flopp

      Dust Sensor
      Bug Reports • • flopp  

      3
      1
      Votes
      3
      Posts
      3375
      Views

      brnwshr

      @flopp same experience here, The sketch provided by Mysensors.org does not switch on/off the LED used to detect the dust particle (code below with corrections). I tested that sensor (Sharp_GP2Y1010AU) with smoke and because it does not have a fan (like the nova fitness SD011) or does not create a draft with a resistor (like the Shinyei PPD42NS) the fumes can go around completely undetected. When i tested the sharp and Shinyei in parallel the later seemed a lot more reliable. I also modified the code for the sharp sensor to get the arduino to loop thru multiple readings before sending a smoothed result back to the gateway. Code below with lots of debugging. /** * 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. * ******************************* * * REVISION HISTORY * Version 1.0 - epierre * Converted to 1.4 by Henrik Ekblad * * * DESCRIPTION * Arduino Dust Sensort * * connect the sensor as follows : * * VCC >>> 5V * A >>> A0 * GND >>> GND * LED >>> 2 * * Based on: http://www.dfrobot.com/wiki/index.php/Sharp_GP2Y1010AU * Authors: Cyrille Médard de Chardon (serialC), Christophe Trefois (Trefex) * * http://www.mysensors.org/build/dust * */ #include <MySensor.h> #include <SPI.h> #define CHILD_ID_DUST 0 #define DUST_SENSOR_ANALOG_PIN 0 int ledPower = 2; const int numreadings = 60; unsigned long SLEEP_TIME = 10*1000; // Sleep time between reads (in milliseconds) //VARIABLES int val = 0;// variable to store the value coming from the sensor float valDUST = 0.0; float lastDUST =0.0; int samplingTime = 280; int deltaTime = 40; int sleepTime = 9680; float voMeasured = 0; float calcVoltage = 0; float dustDensity = 0; MySensor gw; MyMessage dustMsg(CHILD_ID_DUST, V_LEVEL); void setup(){ gw.begin(); pinMode(ledPower,OUTPUT); // Send the sketch version information to the gateway and Controller gw.sendSketchInfo("Dust Sensor", "1.1"); // Register all sensors to gateway (they will be created as child devices) gw.present(CHILD_ID_DUST, S_DUST); } void loop(){ float cumsum = 0; float temp = 0; float temp1 = 0; float cum_density = 0; for (int sample = 0; sample < numreadings; sample ++){ // loop reading dust sensor digitalWrite(ledPower,LOW); // power on the LED delayMicroseconds(samplingTime); uint16_t voMeasured = analogRead(DUST_SENSOR_ANALOG_PIN);// Get DUST value delayMicroseconds(deltaTime); digitalWrite(ledPower,HIGH); // turn the LED off // 0 - 5V mapped to 0 - 1023 integer values // recover voltage temp = voMeasured * (5.0 / 1024.0); cumsum = cumsum + temp;// cumulative sum over 60 seconds delay(1000); Serial.print("reading sample: "); Serial.println(sample); Serial.print("Raw Signal Value (0-1023): "); Serial.println(voMeasured); Serial.print(" - cumulative: "); Serial.println(cumsum); } // linear eqaution taken from http://www.howmuchsnow.com/arduino/airquality/ // Chris Nafis (c) 2012 dustDensity = (0.17 * cumsum - 0.1)* (1000/60); Serial.print(" - Dust Density: "); Serial.println(dustDensity); // unit: ug/m3 Serial.println("#########################################"); // if (ceil(dustDensity) != lastDUST) { // gw.send(dustMsg.set((int)ceil(dustDensity))); // lastDUST = ceil(dustDensity); // } gw.send(dustMsg.set((int)ceil(dustDensity))); gw.sleep(SLEEP_TIME); }```
    • flopp

      LDO 9 volt
      Hardware • • flopp  

      6
      0
      Votes
      6
      Posts
      1032
      Views

      flopp

      I have now ordered these http://www.aliexpress.com/item/Free-shippin-10pcs-lot-Low-dropout-regulator-LDO-MCP1702T-3302E-CB-silk-HGCO-SOT-23-original/32592966949.html?shortkey=FZFfYj2M&addresstype=600 http://www.aliexpress.com/item/Free-shipping-10pcs-lot-MCP1702T-1802E-1202E-1502E-2502E-5002E-2802E-3002E-CB-MB-new-original/32565249742.html?shortkey=jyaMrA3M&addresstype=600
    • flopp

      Rain node suddenly draw much power
      My Project • • flopp  

      11
      0
      Votes
      11
      Posts
      2445
      Views

      flopp

      @flylowgofast I measured how much the NRF draw, it was ~0,8mA. After change I was not able to measure the current because it was to low. I didn't reset he arduino during this test and change. I will recharge the battery and start over again. Thanks everyone
    • flopp

      Measure snow
      My Project • • flopp  

      5
      0
      Votes
      5
      Posts
      1374
      Views

      flopp

      @Lawrence-Helm Ultra sonic is a distance sensor
    • flopp

      Rain Gauge stopped sending[Solved]
      My Project • • flopp  

      10
      0
      Votes
      10
      Posts
      2019
      Views

      flopp

      @martinhjelmare Yes, that can be the reason. Thanks everyone
    • flopp

      suddenly it stops receive some data
      Domoticz • • flopp  

      6
      0
      Votes
      6
      Posts
      1323
      Views

      flopp

      Yes, I have seen that. If I restart Domoticz and restart Node it receives Temp and Baro, create 2 new items named Temp and Baro. But after this I never get any new values not for TempHumbaro or the 2 new items, Temp and Baro. But if it starts to work after x hours maybe I can live with that.
    • flopp

      Tiny 0.8-3.3V sleep current
      Hardware • • flopp  

      7
      0
      Votes
      7
      Posts
      1472
      Views

      flopp

      thanks everyone. Maybe it is better to use 2 AA and a ATMEGA328P and skip the Pro-Mini. All my stuff is made for 1.8-3.6V. Maybe it will last for 2 years or something.
    • flopp

      Inventory webpage
      General Discussion • • flopp  

      8
      0
      Votes
      8
      Posts
      1026
      Views

      rvendrame

      @Nca78 Agree. But I liked the idea of a simple text search, where you enter for example 'MOSFET' and it lights up all bins with mosfets ... It is now in my list 'projects to investigate after finishing all ongoing'
    • flopp

      Control of step down
      My Project • • flopp  

      20
      0
      Votes
      20
      Posts
      5011
      Views

      flopp

      @AWI Thank again. I found one 662K at home. Now it draws ~19uA with everything connected: arduino pro mini(clone), NRF, si7021 and bmp180(without 662k) This is good enough.
    • flopp

      Error: MySensors: Tidsgr�nsen f�r semaforen har uppn�tts
      Domoticz • • flopp  

      3
      0
      Votes
      3
      Posts
      948
      Views

      flopp

      @sundberg84 Message in Domoticz Log. sensor is on one arduino nano and gateway on Arduino Mega, so I think the answer is: MySensors network. I started with MySensors one week ago, so I dont understand all these names, yet
    • flopp

      Help with Controller choice
      Controllers • • flopp  

      3
      1
      Votes
      3
      Posts
      2068
      Views

      DJONvl

      Look this Controller, MySensors adapter for him,
    • flopp

      st:fail sometimes and sometimes OK
      Troubleshooting • • flopp  

      24
      0
      Votes
      24
      Posts
      6616
      Views

      Marcell Kovacs

      @rvendrame said: Once I had similar problems, a 4.7nF cap and gw.wait(100) after each transmit did the trick for me... Hope it helps somehow. I also got to this solution when experienced the same 'st:fail' issue. The arduino's delay wont help, because it wont receive anything from radio during the delay. As i got mutch less or no error with ack = false, I thing its linked to receiving some ACK packets. I have no deeper information or debugging possibilities at the moment.
    • flopp

      MySensors WiFi Gateway with Arduino UNO and CC3000
      Development • • flopp  

      11
      0
      Votes
      11
      Posts
      3568
      Views

      Connor Rigby

      @barduino @flopp sorry guys i fixed this last week but forgot to tell anyone. it shou;d be on my github
    • flopp

      Sensor NRF24L01+ sleep current
      Troubleshooting • • flopp  

      16
      0
      Votes
      16
      Posts
      7861
      Views

      flopp

      @bjacobse said: @flopp This is the correct way, to sleep and use interrupt for this so you are using interrupt http://forum.mysensors.org/topic/417/gw-sleep-and-milis Thanks