Git Product home page Git Product logo

homebridge-pi-thermostat's Introduction

Homebridge Pi Thermostat Plugin

This is a homebridge plugin to make a Raspberry Pi connected with a Relay Board and DHT22 Temperature and Humidity Sensor into a smart thermostat that can be controlled via the Home app on iOS using Homekit.

Raspberry Pi Thermostat showing Wiring

For those who want to create their own thermostat using Raspberry Pi, here is a blog post that goes through the details of where to buy the parts, how to assemble it and what software to install to get this to work.

Installation

  • Install nodejs and other dependencies for homebridge to work
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs libavahi-compat-libdnssd-dev
  • Install BCM2835 for temperature sensor to work
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.52.tar.gz
tar zxvf bcm2835-1.52.tar.gz
cd bcm2835-1.52
./configure && make && sudo make check && sudo make install
  • Install homebridge and this plugin
sudo npm install -g --unsafe-perm homebridge homebridge-pi-thermostat
  • Add the accessory config to your homebridge config file located at this path ~/.homebridge/config.json.
{
  "bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },
  "description": "",
  "accessories": [
    {
      "accessory": "Thermostat",
      "name": "Pi Thermostat",
      "fanRelayPin": 26,
      "heatRelayPin": 21,
      "coolRelayPin": 20,
      "temperatureSensorPin": 4,
      "minimumOnOffTime": 120000,
      "blowerTurnOffTime": 80000,
      "startDelay": 10000,
      "temperatureCheckInterval": 10000
    }
  ],
  "platforms": []
}
  • Start it up by running homebridge command.

Configuration

Relay Pins

You can change the pin to turn on and off the relay switch for the Fan, Heat and Cool setting.

"fanRelayPin": 26,
"heatRelayPin": 21,
"coolRelayPin": 20,

Temperature Sensor Pin

You also can change the pin for the DHT22 temperature sensor.

"temperatureSensorPin": 4,

Timing

The system has a minimum on off time which is in miliseconds and is the minimum time it keeps the Heat or Cool turned on and off so that it does not damage the heating or cooling system by turning on and off very quickly.

"minimumOnOffTime": 120000,

The system also has a blowerTurnOffTime which is the time it takes to turn off the blower after Heat or Cool is turned off.

"blowerTurnOffTime": 80000,

The interval for checking the temperature of the room can also be set and defaults to 10 seconds.

"temperatureCheckInterval": 10000

Screenshots

homebridge-pi-thermostat's People

Contributors

ankurp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-pi-thermostat's Issues

Basic Thermostat in UK

Hi

I'm in the UK with a basic thermostat that has no fan or cooling.

Is it possible to run this plugin without the lines for fan and cooling in the config.json as I only need a basic temperature sensor and relay to switch on the heating?

Thanks

Fail to install epoll script

Hello everyone, i'm new on that site and i hope you can help me about with this issue. I installed the official homebridge image on my raspberry pi zero w and it was all good. Today i was trying to install the homebridge-pi-thermostat plugin but the terminal gave me the folloeing error:

USER: pi
DIR: /usr/local/lib
CMD: sudo -E -n npm install homebridge-pi-thermostat@latest

[email protected] preinstall /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/node-dht-sensor
./check-lib.sh

Library bcm2835 found.

[email protected] install /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll
node-gyp rebuild

make: Entering directory '/usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll/build'
CXX(target) Release/obj.target/epoll/src/epoll.o
In file included from ../node_modules/nan/nan.h:192,
from ../src/epoll.cc:15:
../node_modules/nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe Nan::ForceSet(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Value, v8::PropertyAttribute)’:
../node_modules/nan/nan_maybe_43_inl.h:112:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
^~~~~~~~
In file included from ../node_modules/nan/nan_converters.h:59,
from ../node_modules/nan/nan.h:197,
from ../src/epoll.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBasev8::Boolean::return_t Nan::imp::ToFactoryv8::Boolean::convert(v8::Localv8::Value)’:
../node_modules/nan/nan_converters_43_inl.h:18:69: warning: ‘v8::MaybeLocalv8::Boolean v8::Value::ToBoolean(v8::Localv8::Context) const’ is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
val->To ## TYPE(v8::Isolate::GetCurrent()->GetCurrentContext())
^
../node_modules/nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
X(Boolean)
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2664:59: note: declared here
V8_WARN_UNUSED_RESULT MaybeLocal ToBoolean(
^~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../node_modules/nan/nan_converters.h:59,
from ../node_modules/nan/nan.h:197,
from ../src/epoll.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Localv8::Value)’:
../node_modules/nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe v8::Value::BooleanValue(v8::Localv8::Context) const’ is deprecated: BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
return val->NAME ## Value(isolate->GetCurrentContext());
^
../node_modules/nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
X(bool, Boolean)
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2702:51: note: declared here
V8_WARN_UNUSED_RESULT Maybe BooleanValue(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../node_modules/nan/nan_new.h:189,
from ../node_modules/nan/nan.h:198,
from ../src/epoll.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::Function::return_t Nan::imp::Factoryv8::Function::New(Nan::FunctionCallback, v8::Localv8::Value)’:
../node_modules/nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfov8::Value&), v8::Localv8::Object&)’
, obj));
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:4275:31: note: candidate: ‘static v8::MaybeLocalv8::Function v8::Function::New(v8::Localv8::Context, v8::FunctionCallback, v8::Localv8::Value, int, v8::ConstructorBehavior, v8::SideEffectType)’
static MaybeLocal New(
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:4275:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Localv8::Context’
In file included from ../node_modules/nan/nan_new.h:189,
from ../node_modules/nan/nan.h:198,
from ../src/epoll.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBasev8::StringObject::return_t Nan::imp::Factoryv8::StringObject::New(v8::Localv8::String)’:
../node_modules/nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Localv8::String&)’
return v8::StringObject::New(value).Asv8::StringObject();
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:5531:23: note: candidate: ‘static v8::Localv8::Value v8::StringObject::New(v8::Isolate*, v8::Localv8::String)’
static Local New(Isolate* isolate, Local value);
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:5531:23: note: candidate expects 2 arguments, 1 provided
In file included from ../node_modules/nan/nan_new.h:189,
from ../node_modules/nan/nan.h:198,
from ../src/epoll.cc:15:
../node_modules/nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before ‘>’ token
return v8::StringObject::New(value).Asv8::StringObject();
^
../node_modules/nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token
return v8::StringObject::New(value).Asv8::StringObject();
^
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In function ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’:
../node_modules/nan/nan.h:835:60: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, func, argc, argv);
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:182:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h:835:60: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, func, argc, argv);
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:182:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In function ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::String, int, v8::Localv8::Value
)’:
../node_modules/nan/nan.h:850:62: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate*, v8::Localv8::Object, v8::Localv8::String, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, symbol, argc, argv);
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:175:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h:850:62: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::String, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, symbol, argc, argv);
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:175:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In function ‘v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, const char
, int, v8::Localv8::Value)’:
../node_modules/nan/nan.h:865:62: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, const char*, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, method, argc, argv);
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:168:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h:865:62: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, const char*, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, method, argc, argv);
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:168:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Localv8::Value)’:
../node_modules/nan/nan.h:911:53: error: no matching function for call to ‘v8::Value::ToString()’
v8::Localv8::String string = from->ToString();
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocalv8::String v8::Value::ToString(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT MaybeLocal ToString(
^~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 provided
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2684:31: note: candidate: ‘v8::Localv8::String v8::Value::ToString(v8::Isolate
) const’
Local ToString(Isolate* isolate) const);
^~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided
Local ToString(Isolate* isolate) const);
^~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h:921:74: error: no matching function for call to ‘v8::String::WriteUtf8(char*&, int, int, const int&)’
length_ = string->WriteUtf8(str_, static_cast(len), 0, flags);
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2878:7: note: candidate: ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
^~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In member function ‘v8::Localv8::Value Nan::Callback::Call_(v8::Isolate*, v8::Localv8::Object, int, v8::Localv8::Value) const’:
../node_modules/nan/nan.h:1479:5: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
));
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:182:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h:1479:5: warning: ‘v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
));
^
In file included from ../src/epoll.cc:12:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:182:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char
, const v8::Localv8::Value&)’:
../node_modules/nan/nan.h:1533:64: warning: ‘bool v8::Object::Set(v8::Localv8::Value, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local key, Local value));
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Localv8::String&, const v8::Localv8::Value&)’:
../node_modules/nan/nan.h:1539:42: warning: ‘bool v8::Object::Set(v8::Localv8::Value, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(key, value);
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:3499:22: note: declared here
bool Set(Local key, Local value));
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Localv8::Value&)’:
../node_modules/nan/nan.h:1545:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Set(index, value);
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:3508:22: note: declared here
bool Set(uint32_t index, Local value));
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../node_modules/nan/nan.h:1551:61: warning: ‘v8::Localv8::Value v8::Object::Get(v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
New(persistentHandle)->Get(New(key).ToLocalChecked()));
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(Local key));
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(const v8::Localv8::String&) const’:
../node_modules/nan/nan.h:1557:55: warning: ‘v8::Localv8::Value v8::Object::Get(v8::Localv8::Value)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return scope.Escape(New(persistentHandle)->Get(key));
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(Local key));
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In member function ‘v8::Localv8::Value Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../node_modules/nan/nan.h:1562:57: warning: ‘v8::Localv8::Value v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return scope.Escape(New(persistentHandle)->Get(index));
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:3557:51: note: declared here
V8_DEPRECATED("Use maybe version", Local Get(uint32_t index));
^~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from ../src/epoll.cc:15:
../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../node_modules/nan/nan.h:1732:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
, reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
^
In file included from /usr/include/c++/8/cassert:44,
from /home/pi/.cache/node-gyp/12.17.0/include/node/node_object_wrap.h:26,
from ../src/epoll.cc:13:
../node_modules/nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../node_modules/nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistentv8::Object’ has no member named ‘IsNearDeath’
assert(persistent().IsNearDeath());
^~~~~~~~~~~
In file included from ../node_modules/nan/nan.h:2222,
from ../src/epoll.cc:15:
../node_modules/nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../node_modules/nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase::MarkIndependent() [with T = v8::Object]’ is deprecated: Weak objects are always considered independent. Use TracedGlobal when trying to use EmbedderHeapTracer. Use a strong handle when trying to keep an object alive. [-Wdeprecated-declarations]
persistent().MarkIndependent();
^
In file included from /home/pi/.cache/node-gyp/12.17.0/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:27,
from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:570:22: note: declared here
V8_INLINE void MarkIndependent());
^~~~~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator attribute((deprecated(message)))
^~~~~~~~~~
In file included from /usr/include/c++/8/cassert:44,
from /home/pi/.cache/node-gyp/12.17.0/include/node/node_object_wrap.h:26,
from ../src/epoll.cc:13:
../node_modules/nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfoNan::ObjectWrap&)’:
../node_modules/nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistentv8::Object’ has no member named IsNearDeath’
assert(wrap->handle_.IsNearDeath());
^~~~~~~~~~~
../src/epoll.cc: In static member function ‘static void Epoll::Init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../src/epoll.cc:175:39: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
constructor.Reset(ctor->GetFunction());
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocalv8::Function v8::FunctionTemplate::GetFunction(v8::Localv8::Context)’
V8_WARN_UNUSED_RESULT MaybeLocal GetFunction(
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided
../src/epoll.cc:177:23: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
ctor->GetFunction());
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocalv8::Function v8::FunctionTemplate::GetFunction(v8::Localv8::Context)’
V8_WARN_UNUSED_RESULT MaybeLocal GetFunction(
^~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided
../src/epoll.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Epoll::Add(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/epoll.cc:210:44: error: no matching function for call to ‘v8::Value::Int32Value()’
int err = epoll->Add(info[0]->Int32Value(), info[1]->Int32Value());
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local context) const;
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided
../src/epoll.cc:210:67: error: no matching function for call to ‘v8::Value::Int32Value()’
int err = epoll->Add(info[0]->Int32Value(), info[1]->Int32Value());
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local context) const;
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided
../src/epoll.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Epoll::Modify(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/epoll.cc:230:47: error: no matching function for call to ‘v8::Value::Int32Value()’
int err = epoll->Modify(info[0]->Int32Value(), info[1]->Int32Value());
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local context) const;
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided
../src/epoll.cc:230:70: error: no matching function for call to ‘v8::Value::Int32Value()’
int err = epoll->Modify(info[0]->Int32Value(), info[1]->Int32Value());
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local context) const;
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided
../src/epoll.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Epoll::Remove(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/epoll.cc:247:47: error: no matching function for call to ‘v8::Value::Int32Value()’
int err = epoll->Remove(info[0]->Int32Value());
^
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local context) const;
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided
In file included from ../src/epoll.cc:12:
../src/epoll.cc: At global scope:
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:608:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Localv8::Object)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, void)’} [-Wcast-function-type]
(node::addon_register_func) (regfunc),
^
/home/pi/.cache/node-gyp/12.17.0/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/epoll.cc:381:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(epoll, Epoll::Init)
^~~~~~~~~~~
In file included from ../src/epoll.cc:11:
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:
/home/pi/.cache/node-gyp/12.17.0/include/node/node_object_wrap.h:85:78: required from here
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:10226:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]
reinterpret_cast(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P
, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:
../node_modules/nan/nan_object_wrap.h:66:61: required from here
/home/pi/.cache/node-gyp/12.17.0/include/node/v8.h:10226:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]
make: *** [epoll.target.mk:111: Release/obj.target/epoll/src/epoll.o] Error 1
make: Leaving directory '/usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.51+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll
gyp ERR! node -v v12.17.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-09-16T10_34_17_829Z-debug.log

Command failed. Please review log for details.

I'm not able to see the log so if it's needed please give me the right commands to read it.

Target Temperature in Eve app

This is a great plugin, thanks for sharing it!

I noticed in the Eve app on iOS, the current temperature is displayed as "Target Temperature" and then has up/down buttons to adjust it.

Any chance we can get this changed to just show as current, non adjustable temperature?

type of dht as configurable

Could you make the line of 184 --> dhtSensor.read(configurableVariabl, [...] ???
I need to change the value to 11

install error

why this error?
node -v = 10.2.1
npm -v = 6.1.0

sudo npm install -g --unsafe-perm homebridge homebridge-pi-thermostat

[email protected] preinstall /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/node-dht-sensor
./check-lib.sh

Library bcm2835 found.
/usr/local/bin/homebridge -> /usr/local/lib/node_modules/homebridge/bin/homebridge

[email protected] install /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll
node-gyp rebuild

make: ingresso nella directory "/usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll/build"
CXX(target) Release/obj.target/epoll/src/epoll.o
In file included from ../node_modules/nan/nan.h:192:0,
from ../src/epoll.cc:15:
../node_modules/nan/nan_maybe_43_inl.h: In function 'Nan::Maybe Nan::ForceSet(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Value, v8::PropertyAttribute)':
../node_modules/nan/nan_maybe_43_inl.h:112:15: error: 'class v8::Object' has no member named 'ForceSet'
return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
^~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)':
../node_modules/nan/nan.h:835:60: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, func, argc, argv);
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:172:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::String, int, v8::Localv8::Value
)':
../node_modules/nan/nan.h:850:62: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate*, v8::Localv8::Object, v8::Localv8::String, int, v8::Localv8::Value)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, symbol, argc, argv);
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:165:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, const char
, int, v8::Localv8::Value)':
../node_modules/nan/nan.h:865:62: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, const char*, int, v8::Localv8::Value)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, method, argc, argv);
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:158:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In member function 'v8::Localv8::Value Nan::Callback::Call_(v8::Isolate
, v8::Localv8::Object, int, v8::Localv8::Value) const':
../node_modules/nan/nan.h:1479:5: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value*)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
));
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:172:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
epoll.target.mk:95: set di istruzioni per l'obiettivo "Release/obj.target/epoll/src/epoll.o" non riuscito
make: *** [Release/obj.target/epoll/src/epoll.o] Errore 1
make: uscita dalla directory "/usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll/build"
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Linux 4.14.34-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-06-09T12_57_47_479Z-debug.log
pi@raspberrypi:~ $ npm -v
6.1.0
pi@raspberrypi:~ $ node -v
v10.2.1
pi@raspberrypi:~ $ sudo npm install -g --unsafe-perm homebridge homebridge-pi-thermostat

[email protected] preinstall /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/node-dht-sensor
./check-lib.sh

Library bcm2835 found.
/usr/local/bin/homebridge -> /usr/local/lib/node_modules/homebridge/bin/homebridge

[email protected] install /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll
node-gyp rebuild

make: ingresso nella directory "/usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll/build"
CXX(target) Release/obj.target/epoll/src/epoll.o
In file included from ../node_modules/nan/nan.h:192:0,
from ../src/epoll.cc:15:
../node_modules/nan/nan_maybe_43_inl.h: In function 'Nan::Maybe Nan::ForceSet(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Value, v8::PropertyAttribute)':
../node_modules/nan/nan_maybe_43_inl.h:112:15: error: 'class v8::Object' has no member named 'ForceSet'
return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
^~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)':
../node_modules/nan/nan.h:835:60: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, func, argc, argv);
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:172:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, v8::Localv8::String, int, v8::Localv8::Value
)':
../node_modules/nan/nan.h:850:62: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate*, v8::Localv8::Object, v8::Localv8::String, int, v8::Localv8::Value)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, symbol, argc, argv);
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:165:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Localv8::Value Nan::MakeCallback(v8::Localv8::Object, const char
, int, v8::Localv8::Value)':
../node_modules/nan/nan.h:865:62: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, const char*, int, v8::Localv8::Value)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
v8::Isolate::GetCurrent(), target, method, argc, argv);
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:158:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
In file included from ../src/epoll.cc:15:0:
../node_modules/nan/nan.h: In member function 'v8::Localv8::Value Nan::Callback::Call_(v8::Isolate
, v8::Localv8::Object, int, v8::Localv8::Value) const':
../node_modules/nan/nan.h:1479:5: warning: 'v8::Localv8::Value node::MakeCallback(v8::Isolate
, v8::Localv8::Object, v8::Localv8::Function, int, v8::Localv8::Value*)' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
));
^
In file included from ../src/epoll.cc:12:0:
/root/.node-gyp/10.2.1/include/node/node.h:172:50: note: declared here
NODE_EXTERN v8::Localv8::Value MakeCallback(
^
/root/.node-gyp/10.2.1/include/node/node.h:88:42: note: in definition of macro 'NODE_DEPRECATED'
attribute((deprecated(message))) declarator
^~~~~~~~~~
epoll.target.mk:95: set di istruzioni per l'obiettivo "Release/obj.target/epoll/src/epoll.o" non riuscito
make: *** [Release/obj.target/epoll/src/epoll.o] Errore 1
make: uscita dalla directory "/usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll/build"
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack at ChildProcess.emit (events.js:182:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Linux 4.14.34-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-06-09T13_03_23_472Z-debug.log

Mqtt

Can you create a mqtt version

optimize it for homekit 1.03

Hi, I use your plugin, everything is super !!! please if you could optimize it for homekit 1.03. and add a thermostat to control the gas boiler without fan or air conditioner

Idea: Remote temperature sensor?

This is only working if the wired DHT sensor is in the right position to get a good reading. Is there a way to use a remote temperature sensor ?

Fan do nothing in Heat or Cooling Mode

Hello,
the Fan does not work in Heat or Cooling Mode. It only works, if the Heat or Cooling Mode ist turned OFF. Please Fix It! The Plugin is Unusable

Best Regards

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please delete the greenkeeper/initial branch in this repository, and then remove and re-add this repository to the Greenkeeper App’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.

More thermostats

I tried to use it to control floor heating in my house. I have a 4 rooms and I would like to get 4 thermostats. I have a 4 relay board and 4 DHT sensors.
When I added into config file 4 thermostat accessories with different names temperature is reading properly. From each sensor is different temperature.
Relay board doesn't work OK because only one relay is steering for all 4 thermostats despite the fact that in config file are different relay pins. Could you help me how to solve it?

ERROR Getting temperature

Hello @ankurp

I have dht22 and I also have some time - [Pi Thermostat] ERROR Getting temperature.

Can You help with this error ?

Thank You

error: ‘class v8::Object’ has no member named ‘ForceSet’

Getting error installing the plugin. Guessing downgrading to node.js 8 will fix it
Raspberry Pi 3 model b+
Raspbian
Node.js 10.15.3


make: Entering directory '/usr/lib/node_modules/homebridge-pi-thermostat/node_modules/epoll/build'
  CXX(target) Release/obj.target/epoll/src/epoll.o
In file included from ../node_modules/nan/nan.h:192:0,
                 from ../src/epoll.cc:15:
../node_modules/nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../node_modules/nan/nan_maybe_43_inl.h:112:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
   return obj->ForceSet(isolate->GetCurrentContext(), key, value, attribs);
               ^~~~~~~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.