Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Send over 125 degrees temperature via Zwave Yubii home HC1 and Z1 V2 gen 7th device


Question

Posted

HC1 YUBII HOME FIBARO,
Z1 V2. gen 7 th Integrated no security and with S0 too (Z-Wave me)
ARDUINO IDE V.204
I'm not a developer.
I try to send the values of a thermal solar panel up to 220 degrees.
I have tried everything. I have created several multilevel temperature channels, as the guide says. By default, and with double size and double precision celsius scale, with INT BYTE AND WORD variables. Source of variable "byte int word or float".
When I go from 125 degrees, or "12500" because the system seems to divide by 100. If I increase digits. The only thing that happens is that the decimals disappear, but I have never been able to transmit more temperature than 125 to the controller or the app. With or without decimals after the point.
When I increase to values above 125, I think there is some kind of oveflow. And this sends zero or stays at 125.
Is it a limitation of the dr fibaro driver? or am I configuring something wrong or my code is bad?
SENSOR Multilevel scale celcius channels temperature are created well in the console. And read and send the data.
I know that in the z1 v2 guide it refers to signed values, but I don't quite understand how to translate that to send, for example, 210 degrees to the controller. And therefore to the app.
Oh, I haven't been able to send anything through the multilevel sensor either, it doesn't do anything, even if I change values.

Is there any limitation in the Z-Wave system or in Fibaro's Yubii home to transmit more than 125 degrees in a multilevel temperature sensor channel on a Celsius scale, size 2 or 4 bytes and precision 0, 1, or 2?
I don't know what to do anymore, can someone help me?

Thank you very much in advance

 

Code arduino ide. Z1 v2

 

```cpp
// demo sketch for connecting DHT11 humidity and temperature sensor to Z-Uno

// add library
#include "ZUNO_DHT.h"
// pin connection
#define DHTPIN 9

DHT dht(DHTPIN, DHT22);

float humidity; // here we will store the humidity
float temperature; // here we will store the temperature
int temperature0 = 140; //
dword temperature1 = 12500; //overflow en este modo con word o dwor para temp mayor que 125
float temperature2 = 125.00;// overflow en este modo que llega hasta 125
int temperature3 = -29;// overflow en este modo que llega -29
byte rele1 = 00;

// set up channels me falta un report
ZUNO_SETUP_CHANNELS(
ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemperature),
ZUNO_SENSOR_MULTILEVEL_HUMIDITY(getterHumidity),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_TEMPERATURE, SENSOR_MULTILEVEL_SCALE_CELSIUS, SENSOR_MULTILEVEL_SIZE_TWO_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterTemperature1),
ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemperature0),
ZUNO_SENSOR_MULTILEVEL_TEMPERATURE(getterTemperature2),
ZUNO_SENSOR_MULTILEVEL_WATER_TEMPERATURE(getterTemperature3),
ZUNO_SENSOR_BINARY_GENERAL_PURPOSE(getterRele1)
);

void setup() {
dht.begin();
Serial.begin();
Serial.println("start");
}

void loop() {
// obtaining readings from the sensor DHT
humidity = dht.readHumidity();
temperature = dht.readTemperature();
Serial.print("Humidity = ");
Serial.print(humidity);
Serial.print(" % ");
Serial.print("Temperature = ");
Serial.print(temperature);
Serial.println(" *C");
// send data to channels
zunoSendReport(1);
zunoSendReport(2);
zunoSendReport(3);
zunoSendReport(4);
zunoSendReport(5);
zunoSendReport(6);
zunoSendReport(7);
// send every 30 second
delay(30000);
}

byte getterTemperature() {
return temperature;
}

byte getterHumidity() {
return humidity;
}
byte getterTemperature0() {
return temperature0;
}
dword getterTemperature1() {
return temperature1;
}

byte getterTemperature2() {
return temperature2;
}
byte getterTemperature3() {
return temperature3;
}

byte getterRele1() {
return rele1;
}
```

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...