 
					
						
					
				
				
					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);
}