Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
tlpeterT

tlpeter

@tlpeter
About
Posts
59
Topics
3
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • question about repeater node
    tlpeterT tlpeter

    yes add the line but only on non battery powered nodes.
    If battery powered this will kill battery life.
    I have a couple repeater nodes at home to extend the range.

    Development

  • Example code - DallasTemperatureSensor.ino
    tlpeterT tlpeter

    In the 2.0 sketch this is mentioned:

    #define COMPARE_TEMP 1 // Send temperature only if changed? 1 = Yes 0 = No
    So 0 should keep everything working and sens info even when not changed.

    Feature Requests

  • Example code - DallasTemperatureSensor.ino
    tlpeterT tlpeter

    I think you just have to comment out that part of the code (the 5 lines of code)

    Feature Requests

  • Which Arduino IDE version?
    tlpeterT tlpeter

    Thanks, i would not have found that by myself :smile:

    Development

  • How to include the battery measurement?
    tlpeterT tlpeter

    I will buy one later :smile:
    This is just to play with as i wanted to know how the battery measurement works.

    Troubleshooting

  • Which Arduino IDE version?
    tlpeterT tlpeter

    And how do i downgrade AVR board devs?

    Development

  • How to include the battery measurement?
    tlpeterT tlpeter

    I have voltage now and a percentage at the devices.
    Hum and temp do work fine.
    I only sucked all the juice out of the battery so it is charging now by the little solar panel.
    I found out that 2,4V was really the lowest voltage that worked :smile:

    Troubleshooting

  • How to include the battery measurement?
    tlpeterT tlpeter

    I have the voltage part working and i think also the battery percentage with it.
    I build the sketch like this. Can you have a little look?

    /**
     * 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
     *
     * This is an example that demonstrates how to report the battery level for a sensor
     * Instructions for measuring battery capacity on A0 are available here:
     * http://www.mysensors.org/build/battery
     * 
     */
    
    
    
    // Enable debug prints to serial monitor
    #define MY_DEBUG 
    
    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    
    #include <SPI.h>
    #include <MySensors.h>
    #include <DHT.h>
    
    #define CHILD_ID_BATT 0
    #define CHILD_ID_HUM 1
    #define CHILD_ID_TEMP 2
    
    #define DHT_DATA_PIN 3 // Set this to the pin you connected the DHT's data pin to
    int BATTERY_SENSE_PIN = A0;  // select the input pin for the battery sense point
    
    // Set this offset if the sensor has a permanent small offset to the real temperatures
    #define SENSOR_TEMP_OFFSET 0
    
    static const uint64_t UPDATE_INTERVAL = 30000;
    
    // Force sending an update of the temperature after n sensor reads, so a controller showing the
    // timestamp of the last update doesn't show something like 3 hours in the unlikely case, that
    // the value didn't change since;
    // i.e. the sensor would force sending an update every UPDATE_INTERVAL*FORCE_UPDATE_N_READS [ms]
    static const uint8_t FORCE_UPDATE_N_READS = 10;
    
    //unsigned long SLEEP_TIME = 9000;  // sleep time between reads (seconds * 1000 milliseconds)
    int oldBatteryPcnt = 0;
    
    float lastTemp;
    float lastHum;
    uint8_t nNoUpdatesTemp;
    uint8_t nNoUpdatesHum;
    boolean metric = true; 
    
    MyMessage msgBatt(CHILD_ID_BATT, V_VOLTAGE);
    MyMessage msgHum(CHILD_ID_HUM, V_HUM);
    MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
    DHT dht;
    
    void setup()  
    {
       // use the 1.1 V internal reference
    #if defined(__AVR_ATmega2560__)
       analogReference(INTERNAL1V1);
    #else
       analogReference(INTERNAL);
    #endif
    //}
    
    {
    dht.setup(DHT_DATA_PIN); // set data pin of DHT sensor
      if (UPDATE_INTERVAL <= dht.getMinimumSamplingPeriod()) {
        Serial.println("Warning: UPDATE_INTERVAL is smaller than supported by the sensor!");
      }
      // Sleep for the time of the minimum sampling period to give the sensor time to power up
      // (otherwise, timeout errors might occure for the first reading)
      sleep(dht.getMinimumSamplingPeriod());
    }
    }
    void presentation() {
       // Send the sketch version information to the gateway and Controller
       sendSketchInfo("Battery Meter", "1.0");
    
       present(CHILD_ID_BATT, S_MULTIMETER);
       wait(20);
       present(CHILD_ID_HUM, S_HUM);
       wait(20);
       present(CHILD_ID_TEMP, S_TEMP);
       wait(20);
       metric = getConfig().isMetric;
    
    }
    void loop()
    {
       // get the battery Voltage
       int sensorValue = analogRead(BATTERY_SENSE_PIN);
       #ifdef MY_DEBUG
       Serial.println(sensorValue);
       #endif
       
       // 1M, 470K divider across battery and using internal ADC ref of 1.1V
       // Sense point is bypassed with 0.1 uF cap to reduce noise at that point
       // ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts
       // 3.44/1023 = Volts per bit = 0.003363075
       
       int batteryPcnt = sensorValue / 10;
    
       #ifdef MY_DEBUG
       float batteryV  = sensorValue * 0.003363075;
       Serial.print("Battery Voltage: ");
       Serial.print(batteryV);
       Serial.println(" V");
    
       Serial.print("Battery percent: ");
       Serial.print(batteryPcnt);
       Serial.println(" %");
       #endif
    
       if (oldBatteryPcnt != batteryPcnt) {
         // Power up radio after sleep
         send(msgBatt.set(batteryV, 1));
        //sendBatteryLevel(batteryPcnt);
         oldBatteryPcnt = batteryPcnt;
       }
    
       {  
      // Force reading sensor, so it works also after sleep()
      dht.readSensor(true);
      
      // Get temperature from DHT library
      float temperature = dht.getTemperature();
      if (isnan(temperature)) {
        Serial.println("Failed reading temperature from DHT!");
      } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) {
        // Only send temperature if it changed since the last measurement or if we didn't send an update for n times
        lastTemp = temperature;
        if (!metric) {
          temperature = dht.toFahrenheit(temperature);
        }
        // Reset no updates counter
        nNoUpdatesTemp = 0;
        temperature += SENSOR_TEMP_OFFSET;
        send(msgTemp.set(temperature, 1));
    
        #ifdef MY_DEBUG
        Serial.print("T: ");
        Serial.println(temperature);
        #endif
      } else {
        // Increase no update counter if the temperature stayed the same
        nNoUpdatesTemp++;
      }
    
      // Get humidity from DHT library
      float humidity = dht.getHumidity();
      if (isnan(humidity)) {
        Serial.println("Failed reading humidity from DHT");
      } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS) {
        // Only send humidity if it changed since the last measurement or if we didn't send an update for n times
        lastHum = humidity;
        // Reset no updates counter
        nNoUpdatesHum = 0;
        send(msgHum.set(humidity, 1));
        
        #ifdef MY_DEBUG
        Serial.print("H: ");
        Serial.println(humidity);
        #endif
      } else {
        // Increase no update counter if the humidity stayed the same
        nNoUpdatesHum++;
      }
       //sleep(SLEEP_TIME);
       sleep(UPDATE_INTERVAL);
       }}```
    Troubleshooting

  • How to include the battery measurement?
    tlpeterT tlpeter

    I have voltage now (utility) and a percentage under devices.
    I have read somewhere that the percentage is depending on the last sensors poll so i will now try to add the DHT part in to the sketch.

    Troubleshooting

  • How to include the battery measurement?
    tlpeterT tlpeter

    sendBatteryLevel doesn't do anything.
    I have modified it a bit and now i have some readings.
    I will do a bit more playing to see where i will end.

    Troubleshooting

  • How to include the battery measurement?
    tlpeterT tlpeter

    I am trying to build a sensor with a DHT22 and for now on a solar panel and a battery.
    I want to see the battery level within Domoticz.
    I cannot seem to merge both the battery sketch and the DHT sketch together.
    Most of the times i get an error about a { being in a place where it should not belong.
    I think i lost it :smiley: and i am going mad soon.
    Also how to send the battery level to Domoticz? i tried the battery sketch alone and nothing happens.

    Troubleshooting

  • Ethernet Gateway On Arduino Mega 2056 Issues
    tlpeterT tlpeter

    I have this error also with a ENC28J60 module.
    I have used the 1.6.8/9 and 11 ide but that doesn't matter.
    This was on an Nano by the way.

    Troubleshooting

  • Repeater node stops sending sensor info
    tlpeterT tlpeter

    Ha ha, just saw that i already ordered some LE33 converters :smile:
    I forgot about those.

    Troubleshooting

  • Repeater node stops sending sensor info
    tlpeterT tlpeter

    I think i will invest in suck a buck converter.
    There is still plenty coming over from China so many projects to build and i rather do it right the first time.

    Troubleshooting

  • Repeater node stops sending sensor info
    tlpeterT tlpeter

    I agree on that but could it be the same power supply?
    In this case it is a 5V 2A phone charger which should be fine in my honest opinion.
    All i have on this node is a radio and a rainsensor like this.

    Troubleshooting

  • Overloading the Arduino delay
    tlpeterT tlpeter

    For sure i want it to learn too as it is frustrating thinking you are doing it right but have nothing but trouble :smile:

    Feature Requests

  • Repeater node stops sending sensor info
    tlpeterT tlpeter

    I think it is a power issue.
    When connected to my laptop by USB (nano 5V) i have no major issues but i see this in the beginning:
    !TSM:FPAR:FAIL
    !TSM:FAILURE
    TSM:PDT

    After using a phone charger it takes a long time before the node is seen within Domoticz.
    Right now i use a 4,7uF capacitor.
    Would replacing the capacitor with a 100uF makes sense?

    Troubleshooting

  • Overloading the Arduino delay
    tlpeterT tlpeter

    @TheoL , i saw that there is a workshop but unfortunally i am very busy coming week so i can't come.
    I will need some more time learning the code.
    Funny i enough i used a wait for my rain sensor (moisture sketch with analog instead of digital)
    I remove the wait and it is running much better.

    Feature Requests

  • Overloading the Arduino delay
    tlpeterT tlpeter

    That would be very usefull.
    Like me many people like to work with there hands and copy code.
    I am in code a little bit but not enough to build my own code.
    When i see code than most of it i understand.

    Feature Requests

  • Repeater Node, problems
    tlpeterT tlpeter

    I have two which are powered (nano) with USB and both in the same place (garage)
    They both are repeater nodes and i think they both have issues connecting to the nearest repeater node.

    Domoticz
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular