Skip to content
  • 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
edsteveE

edsteve

@edsteve
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store
About
Posts
42
Topics
11
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • <SOLVED>Domoticz adds constantly new devices when using manual DeviceAddress for DS18B20
    edsteveE edsteve

    Yeahaa. Thanks so much. I really appreciate it!
    Some small changes with temp4 and works like a charm. If you don't accept my offer. Then the transfer goes to mysensors community :)

    Here the working code IF someone need it or i loose mine ;)

    #define MY_RADIO_NRF24
    #define MY_DEBUG
    #include <MySensors.h>
    #include <SPI.h>
    #include <OneWire.h>
    #include <DallasTemperature.h>
    
    // Data wire is plugged into port 2 on the Arduino 
    #define ONE_WIRE_BUS 4 
    #define TEMPERATURE_PRECISION 10 
     
    // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs) 
    OneWire oneWire(ONE_WIRE_BUS); 
    
    // Pass our oneWire reference to Dallas Temperature. 
    DallasTemperature sensors(&oneWire); 
    
    #define NODE_ID 1
    #define CHILD_ID_WIND 1
    #define CHILD_ID_TEMP1 3
    #define CHILD_ID_TEMP2 4
    #define CHILD_ID_TEMP3 5
    #define CHILD_ID_TEMP4 6
    #define CHILD_ID_TEMP5 7
    
    unsigned int val_wspeed;
    unsigned int val_wgust;
    unsigned int val_wdirection;
    
    
    unsigned int last_wspeed;
    unsigned int last_wgust;
    unsigned int last_wdirection;
    
    
    DeviceAddress  temp1 = { 0x28, 0xEE, 0xB6, 0xB1, 0x27, 0x16, 0x01, 0x1F };
    DeviceAddress  temp2 = { 0x28, 0xEE, 0xE1, 0x20, 0x28, 0x16, 0x01, 0xEA };
    DeviceAddress  temp3 = { 0x28, 0xEE, 0x0D, 0xAA, 0x24, 0x16, 0x02, 0x8A };
    DeviceAddress  temp4 = { 0x28, 0xEE, 0x7D, 0xA8, 0x24, 0x16, 0x02, 0xE0 };
    DeviceAddress  temp5 = { 0x28, 0xFF, 0xF6, 0x8F, 0x62, 0x16, 0x03, 0x7F };
    
    
    
    MyMessage msgWSpeed(CHILD_ID_WIND, V_WIND);
    MyMessage msgWGust(CHILD_ID_WIND, V_GUST);
    MyMessage msgWDirection(CHILD_ID_WIND, V_DIRECTION);
    MyMessage msg(0,V_TEMP);
    
    void setup(void) 
    {
      // start serial port
      Serial.begin(115200);
      Serial.println("Dallas Temperature IC Control Library Demo");
    
      // Start up the library
      sensors.begin();
    
      // report parasite power requirements
      Serial.print("Parasite power is: "); 
      if (sensors.isParasitePowerMode()) Serial.println("ON");
      else Serial.println("OFF");
    
      // set the resolution to 9 bit
      sensors.setResolution(temp1, TEMPERATURE_PRECISION);
      sensors.setResolution(temp2, TEMPERATURE_PRECISION);
      sensors.setResolution(temp3, TEMPERATURE_PRECISION);
      sensors.setResolution(temp4, TEMPERATURE_PRECISION);
      sensors.setResolution(temp5, TEMPERATURE_PRECISION);
    
    }
    
    void presentation()
    {
        present(CHILD_ID_WIND, S_WIND);
        present(CHILD_ID_TEMP1, S_TEMP);
        present(CHILD_ID_TEMP2, S_TEMP);
        present(CHILD_ID_TEMP3, S_TEMP);
        present(CHILD_ID_TEMP4, S_TEMP);
        present(CHILD_ID_TEMP5, S_TEMP);
    }
    
    void loop()
    {  
      // call sensors.requestTemperatures() to issue a global temperature 
      // request to all devices on the bus
      Serial.print("Requesting temperatures...");
      sensors.requestTemperatures();
      Serial.println("DONE");
    
      // print the device information
      float east = sensors.getTempC(temp1);
      Serial.print("East C: ");
      Serial.println(east);
      send(msg.setSensor(CHILD_ID_TEMP1).set(east,1));
    
      float north = sensors.getTempC(temp2);
      Serial.print("North  C: ");
      Serial.println(north);
      send(msg.setSensor(CHILD_ID_TEMP2).set(north,1));
    
      float west = sensors.getTempC(temp5);
      Serial.print("West  C: ");
      Serial.println(west);
      send(msg.setSensor(CHILD_ID_TEMP5).set(west,1));
    
      float south = sensors.getTempC(temp3);
      Serial.print("South C: ");
      Serial.println(south);
      send(msg.setSensor(CHILD_ID_TEMP3).set(south,1));
    
      float out = sensors.getTempC(temp4);
      Serial.print("Test  C: ");
      Serial.println(out); 
      send(msg.setSensor(CHILD_ID_TEMP4).set(out,1)); 
      
      // calculating wind direction form temperature differences
        if (north > south && north > west && north > east ) {
        Serial.println("SOUTH");
        unsigned int val_wdirection = 180; 
           send(msgWDirection.set(val_wdirection));
           Serial.print("WD: ");
           Serial.println(val_wdirection);
        }
    
        if (east > north && east > west && east > south ) {
        Serial.println("WEST");
        unsigned int val_wdirection = 280; 
           send(msgWDirection.set(val_wdirection));
           Serial.print("WD: ");
           Serial.println(val_wdirection);
        }
    
         if (south > north && south > west && south > east ) {
        Serial.println("NORTH");
        unsigned int val_wdirection = 0; 
           send(msgWDirection.set(val_wdirection));
           Serial.print("WD: ");
           Serial.println(val_wdirection);
        }
    
        if (west > north && west > south && west > east ) {
        Serial.println("EAST");
        unsigned int val_wdirection = 90; 
           send(msgWDirection.set(val_wdirection));
           Serial.print("WD: ");
           Serial.println(val_wdirection);
        }
      
      //domoticz must see speed and gust so i give random numbers for testing
      unsigned int val_wspeed = 17; 
        if(last_wspeed != val_wspeed)
        { 
           last_wspeed = val_wspeed;
           send(msgWSpeed.set(val_wspeed, 1));
           Serial.print("WS: ");
           Serial.println(val_wspeed);
        }
        
        unsigned int val_wgust = 5; 
        if(last_wgust != val_wgust)
        { 
           last_wgust = val_wgust;
           send(msgWGust.set(val_wgust, 1));
           Serial.print("WG: ");
           Serial.println(val_wgust);
        }
    
          delay (5000);
    }
    
    Domoticz

  • HC-SR04 (Distance) only sends data with connected serial converter?
    edsteveE edsteve

    Thanks for your reply.
    I was dealing with it for 3 hours now. Grml. But as usual i figured it out right after this post. The trigger pin was connected to the wrong Arduino pin (4 instead of 6). Of course i didin't check it, because it still worked with connected serial converter. How strange.

    So i guess this post can be deleted due to waste of space.

    Cheeers
    ED

    Troubleshooting

  • Humidity and Temp examples. Where are they?
    edsteveE edsteve

    Okay. So that means all the MySensor examples in the Arduino IDE only use Mysensors.h and no external library.

    Thx for the info. That explains it.

    General Discussion

  • [SOLVED] Long distance radios not working with mySensors code (nrf24l01+)
    edsteveE edsteve

    Hey Vidd,

    Thanks for your perfect answer and the diagram. Useful info for newbie like me :)
    I tried external power for the radio and it worked right away. I got mislead from the fact that the radio worked with a simple test code but not with mysensors code.

    Hardware

  • <SOLVED> What is wrong with my S_Wind V_Direction value? Never changes...
    edsteveE edsteve

    My mistake. I actually edit it right after i posted. But i think you were faster than me :)
    Yeah. I read about the magic number 16. Thats why i test with 15 :D
    If i understand that right Domoticz goes from 0 to 16 instead of 0 to 360. So 15 should do fine.
    So now i am out of guesses and clues :/

    Domoticz

  • Two motion sensors on one Arduino. How?
    edsteveE edsteve

    Thanks for your answer. Great that it is possible even-though it will take some time for me as a noob.
    But as usual: every problem has a solution. Just have to find (ask for) it :dancer:

    Hardware

  • Battery status does not show in Domoticz
    edsteveE edsteve

    @gohan
    I also have that info from the domoticz forum and i tried it. Tailing the new log file... still no more details. I give up...
    Maaaybe... when i have motivation again i will try to read about @sunberg84 solution. But i am just not a linux expert.

    Grml... never like it to live with an unsolved problem. But thx for the effort everyone.

    Here is the link to the domoticz forum about the logging problem

    Domoticz

  • Domoticz V_TEXT sensor now bidirectional
    edsteveE edsteve

    Thanks. Found it.

    Domoticz
  • Login

  • Don't have an account? Register

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