Fel temperatur med Fibaro FGK-101 med Vera Edge

Diskussioner runt sensorer med Z-wave.
Sensor går att köpa här: https://www.m.nu/z-wave/sensorer
tunis
Wannabe
Inlägg: 14
Blev medlem: 17 okt 2015, 12:03
Ort: Tibro

Fel temperatur med Fibaro FGK-101 med Vera Edge

Inlägg av tunis »

Hej
När jag inkluderade dörrsensorn till min Vera Edge så visas fel temperatur.
Decimaltecknet är på fel ställe och visar 28.00 istället för 2.8 :( (mäter ute tempen).

Finns det någon inställning man kan göra för att flytta decimaltecknet.
Jag kör den senaste firmwaren som kom förra veckan.

P.S. Mina Qubino visar rätt.
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Fel temperatur med Fibaro FGK-101 med Vera Edge

Inlägg av elf98 »

Inte något vi hört om tidigare, kontakta Veras support!
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
tunis
Wannabe
Inlägg: 14
Blev medlem: 17 okt 2015, 12:03
Ort: Tibro

Re: Fel temperatur med Fibaro FGK-101 med Vera Edge

Inlägg av tunis »

Jag har fått svar från VERA igår och det fungerar nu.
The Vera unit displays on the user interface the value sent by the sensor. It changes the value only when you wanna see the temperature in Fahrenheit.

Please bring the sensor near the Vera unit and log in and connect to your unit and go to Users & Account Info > Unit Settings and under Weather settings change the temperature format to Celsius. (If it’s already Celsius change it to Fahrenheit click Save Changes and the change it back to Celsius and click Save Changes )

Afterwards wake up the sensor.

Also, you can try to exclude and re include the sensor after changing the temp format and clear the cache on your browser.

http://wiki.mios.com/index.php/Clear_Browser_Cache
tunis
Wannabe
Inlägg: 14
Blev medlem: 17 okt 2015, 12:03
Ort: Tibro

Re: Fel temperatur med Fibaro FGK-101 med Vera Edge

Inlägg av tunis »

Jag trodde det fungerade. Men temperaturen låg runt nollan, så nu när temperaturen stiger är det över 100C ute igen. :(

Veras support säger att den vissar den temperatur den får från sensorn, så nu har jag kontaktat Fibaros support.
tunis
Wannabe
Inlägg: 14
Blev medlem: 17 okt 2015, 12:03
Ort: Tibro

Re: Fel temperatur med Fibaro FGK-101 med Vera Edge

Inlägg av tunis »

Jag har äntligen löst detta fel genom att ändra på upplösningen på min DS18B20.
Hittade lösningen genom en slump i ett annat forum om problem med fel temperatur med en DS18B20 som kunde vara fel upplösning på sensorn.

Jag googlade lite och hittade den här sidan http://mydomotic.blogspot.se/2015/10/co ... -save.html.

Min lösning
  • Köpte en Anduino Uno och ett 4.7kOhm motstånd
  • Laddade hem OneWire biblioteket och kopiera det till libraries.
  • Koppla sensor till 5V, GND och PIN2.
    Koppla motståndet mellan 5V och PIN2.
  • Använde koden nedan och laddade upp till Anduino Unon.
    Programmet letar upp sensorn och ändrar den till 12 bit upplösning.

Kod: Markera allt

    #include <OneWire.h>
     
    #define OUT_PIN 2 // output digital pin
     
    OneWire ds(OUT_PIN); // Connect your 1-wire device to pin "OUT_PIN"
    byte addr[10][8];
    byte device_nb = 0;
     
    void setup(void) {
      Serial.begin(9600);
      SearchDevices(); // search 1-wire devices
     
      // Set configuration
      for( device_nb = 0; device_nb < 10; device_nb++) {  
        if (addr[device_nb][0] == 0x28){
          Serial.print("\r\nScratch Pad before modification: \r\n");
          ReadScratchPad(addr[device_nb]); // display scratchpad
          WriteScratchPad(addr[device_nb], 12); // write scratchpad configuration, ask for a 9, 10, 11 or 12 bits resolution
          Serial.print("\r\nScratch Pad after modification: \r\n");
          ReadScratchPad(addr[device_nb]); // display scratchpad
          Serial.print("\r\n");
        }
      }
    }
     
    void loop(void) {
      // do nothing
    }
     
    void SearchDevices(){
      byte i;
     
      Serial.print("Looking for 1-Wire devices...\n\r");
      while(ds.search(addr[device_nb])) {
        if ( OneWire::crc8( addr[device_nb], 7) != addr[device_nb][7]) {
            Serial.print("CRC is not valid!\n");
          break;
          }
        if (device_nb < 10){
          device_nb++;    
        } else {
          Serial.print("More than 10 devices, unable to load them all\n");
          break;
        }
      }
      ds.reset_search();
     
      if (device_nb < 9){
         addr[device_nb][0] = 0; // erase last 1-wire device as it is accounted 2 times  
      }
     
      for( device_nb = 0; device_nb < 10; device_nb++) {
        if (addr[device_nb][0] == 0x28){
          Serial.print("Device Number ");
          Serial.print(device_nb);
          Serial.print(" : ");
          for( i = 0; i < 8; i++) {    
            Serial.print(addr[device_nb][i], HEX);
            Serial.print(" ");
          }
         Serial.print("\n\r");
        }
      }
    }
     
     
    void ReadScratchPad(byte addr[8]){
      byte data[12];
      byte i;
     
      ds.reset();
      ds.select(addr);    
      ds.write(0xBE);         // Read Scratchpad
     
      for ( i = 0; i < 9; i++) {           // we need 9 bytes
        data[i] = ds.read();
        Serial.print(data[i], HEX);
        Serial.print(" ");
      }
    }
     
    void WriteScratchPad(byte addr[8], byte res_bit){
      byte reg_cmd;
      switch(res_bit){
        case 9: reg_cmd = 0x1F; break;
        case 10: reg_cmd = 0x3F; break;
        case 11: reg_cmd = 0x5F; break;
        case 12: reg_cmd = 0x7F; break;
        default: reg_cmd = 0x7F; break;
      }
     
      ds.reset();
      ds.select(addr);
      ds.write(0x4E);     // Write scratchpad command
      ds.write(0);        // TL data
      ds.write(0);        // TH data
      ds.write(reg_cmd);  // Configuration Register (resolution) 7F=12bits 5F=11bits 3F=10bits 1F=9bits
      ds.reset();         // This "reset" sequence is mandatory
      ds.select(addr);    // it allows the DS18B20 to understand the copy scratchpad to EEPROM command
      ds.write(0x48);     // Copy Scratchpad command
    }
Skriv svar