Homeseer / Zuno driving me bonkers.
Posted: 21 May 2018 18:48
So, excuse my messy code. But i am just trying to get a device included into homeseer (ZWave plugin 3.0.2.215)
I thought i'd try a simple channel definition first. But i can not even do that. First it only sees one of my channels. And i also get a error about supported scale (se my underline below)
My code, messy as it is..
I thought i'd try a simple channel definition first. But i can not even do that. First it only sees one of my channels. And i also get a error about supported scale (se my underline below)
Code: Select all
Add Node started...
Activate the 'Add to Network' function on the device...
A new node is being added...
Adding a new SLAVE NODE...
DONE - Add Node Operation is Complete.
Done. Node 83 Added.
Reloading (importing) node information...
Synchronizing node information with HomeSeer and creating new device(s) as necessary...
Synchronize nodes finished. Number of device nodes to be created/added = 1
Z-Wave manufacturer information for node 83, ID: 277=115H (Z-Wave.Me), Type: 272=110H, ID: 1=1H
Node: 83 Supports Class(es): ZWAVEPLUS_INFO, BASIC_V2, CONFIGURATION_V4, ASSOCIATION_V2, MULTI_CHANNEL_ASSOCIATION_V3, FIRMWARE_UPDATE_MD_V2, DEVICE_RESET_LOCALLY, ASSOCIATION_GRP_INFO_V2, POWERLEVEL, VERSION_V2, MANUFACTURER_SPECIFIC_V2, SENSOR_MULTILEVEL_V7, MULTI_CHANNEL_V3
Node 83 is Z-Wave version: Lib: 4.38 App: 2.13
Node 83 is a Z-Wave Plus node. Retrieving ZWPlus Info...
[b][i][u]Error: Failed to get the supported scale for sensor type Air_Temperature of new child device for node 83. Error C[/u][/i][/b]
All associations for node 83 have been retrieved successfully, it supports associations on these groups: 1.
Root Node Device Z-Wave Node 83 Z-Wave.Me Multilevel Sensor was created for node 83 on network C0B92EC8
Znet: Adding association for Z-Wave device Z-Wave Node 83 Z-Wave.Me Multilevel Sensor (Node 83, Group 1, Endpoint 1) to HomeSeer
1 out of 2 Child devices of node 83 were created successfully.
Finished.
Saving network information to file: ZNet_Network C0B92EC8_C0B92EC8_2018-05-21_17.45.24.ZWave. Please wait...
Done!
My code, messy as it is..
Code: Select all
/*
* That is a Simple Blink Sketch. It just blinks the LED
*/
#include <ZUNO_OneWire.h>
#include <ZUNO_DS18B20.h>
#include <ZUNO_SERVO.h>
#define FAN1_ENABLE 19
#define FAN1_PWM 14
#define FAN2_ENABLE 20
#define FAN2_PWM 15
#define LEFT_TEMP_DATA 11
#define RIGHT_TEMP_DATA 12
#define LED_PIN 13
s_pin FAN1_TACH_PIN = 9;
s_pin FAN2_TACH_PIN = 10;
float duration;
float rpm;
int RPM_FAN1;
int RPM_FAN2;
OneWire owA(LEFT_TEMP_DATA);
DS18B20Sensor ds1820A(&owA);
OneWire owB(RIGHT_TEMP_DATA);
DS18B20Sensor ds1820B(&owB);
byte addr1[8];
byte addr2[8];
int temp;
float temperatureA, temperatureB;
ZUNO_SETUP_CHANNELS(
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_TEMPERATURE, SENSOR_MULTILEVEL_SCALE_CELSIUS, SENSOR_MULTILEVEL_SIZE_TWO_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterTemperatureA),
ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_TEMPERATURE, SENSOR_MULTILEVEL_SCALE_CELSIUS, SENSOR_MULTILEVEL_SIZE_TWO_BYTES, SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS, getterTemperatureB)
);
void setup() {
Serial.begin(9600);
pinMode(FAN1_ENABLE, OUTPUT); //Set fan control as output
pinMode(FAN2_ENABLE, OUTPUT); //Set fan control as output
pinMode(FAN1_PWM, OUTPUT); //Set fan control as output
pinMode(FAN2_PWM, OUTPUT); //Set fan control as output
pinMode(FAN1_TACH_PIN,INPUT);
pinMode(FAN2_TACH_PIN,INPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(FAN2_ENABLE, LOW);
digitalWrite(FAN1_ENABLE, LOW);
//Find our DS1820-sensors on the buses
ds1820A.scanAloneSensor(addr1);
ds1820B.scanAloneSensor(addr2);
//Get initial temps
float temperatureA = ds1820A.getTemperature(addr1);
float temperatureB = ds1820B.getTemperature(addr2);
}
void loop() {
//Get temps
float temperatureA = ds1820A.getTemperature(addr1);
float temperatureB = ds1820B.getTemperature(addr2);
Serial.println("Temperature A:");
Serial.println(temperatureA);
Serial.println("Temperature B:");
Serial.println(temperatureB);
if (temperatureA < 25) {
Serial.println("FAN1 Off");
digitalWrite(FAN1_ENABLE, LOW);
digitalWrite(FAN1_PWM, LOW);
} else if (temperatureA >= 25 && temperatureA < 30) {
Serial.println("FAN1 Mid");
digitalWrite(FAN1_PWM, LOW);
digitalWrite(FAN1_ENABLE, HIGH);
} else {
Serial.println("FAN1 High");
digitalWrite(FAN1_PWM, HIGH);
digitalWrite(FAN1_ENABLE, HIGH);
}
if (temperatureB < 25) {
Serial.println("FAN2 Off");
digitalWrite(FAN2_ENABLE, LOW);
digitalWrite(FAN2_PWM, LOW);
} else if (temperatureB >= 25 && temperatureB < 30) {
Serial.println("FAN2 Mid");
digitalWrite(FAN2_PWM, LOW);
digitalWrite(FAN2_ENABLE, HIGH);
} else {
Serial.println("FAN2 High");
digitalWrite(FAN2_PWM, HIGH);
digitalWrite(FAN2_ENABLE, HIGH);
}
RPM_FAN1 = CalculateFanRPM(FAN1_TACH_PIN);
RPM_FAN2 = CalculateFanRPM(FAN2_TACH_PIN);
Serial.println(RPM_FAN1);
Serial.println(RPM_FAN2);
// delay(30000);
// zunoSendReport(1);
// delay(30000);
// zunoSendReport(2);
delay(10000);
}
//Functions below here
int CalculateFanRPM(int TachPin) {
int rpm;
float duration;
duration = (pulseIn(TachPin, HIGH, 1000000))*4;
rpm = round(1/(duration/1000000)*60);
if (duration <= 0) {
rpm = 0;
}
return rpm;
}
float getterTemperatureA(){
return temperatureA;
}
float getterTemperatureB(){
return temperatureB;
}