 // Temperature 24.9799995422 degC Humidity 40.0000000000 % rel
 void thermom() {
   temperature = (double)((nyb(11) * 100) + (nyb(10) * 10) + nyb(9)) / 10; //accuracy to 0.1 degree seems unlikely
-  if (nyb(12) == 1) { //  Trigger a negative temperature
+  //The following line has been corrected by Darko in Italy, thank you, Grazie ragazzi!!!
+  if (nyb(12) == 8) { //  Trigger a negative temperature
     temperature = -1.0 * temperature;
   }
   humidity = (nyb(14) * 10) + nyb(13);

int     BluPin     = 5;     //The Blue LED, turn on for a valid Rain sensor packet

// Variables for Manchester Receiver Logic:
word    sDelay     = 240;    //Small Delay about 1/4 of bit duration  try like 250 to 500
word    lDelay     = 490;    //Long Delay about 1/2 of bit duration  try like 500 to 1000, 1/4 + 1/2 = 3/4
byte    polarity   = 1;      //0 for lo->hi==1 or 1 for hi->lo==1 for Polarity, sets tempBit at start
byte    tempBit    = 1;      //Reflects the required transition polarity
byte    discards   = 0;      //how many leading "bits" need to be dumped, usually just a zero if anything eg discards=1

/*
 Oregon Scientific Weather Station and Manchester Decoding, (reading by delay rather than interrupt)
 Rob Ward 2015
 This example code is in the public domain.
 Use at your own risk, I will take no responsibility for any loss whatsoever for its deployment.
 Visit https://github.com/robwlakes/ArduinoWeatherOS for the latest version and
 documentation. Filename: MainWeather_09.ino

 Main_Weather, 24 Dec 2017  (works with Protocol Version 3.0)

 The aim of this version is use the new Manchester decoding routine and incorporate detection
 of a Oregon compatible sensor built to cover novel environmental sensors.
