NEWS
Test Adapter EnOcean v0.3.x
-
@mustang klar du kannst die Taster auch Manuell anlegen, dafür musst die ID (Seriennummer) wissen.
Dann wählst du die EEP aus und fertig. -
Hallo @Jey-Cee , ich habe an meinem Raspi einen USB Stick von Piotek angeschlossen. Damit werden meine Enocean Geräte in CUXD angelegt und ich kann sie in der CCU schalten.
Der Stick scheint von Eltako zu sein (ELT-FAM-USB-ESP3
Eltako EnOcean USB Gateway FAM-USB (ESP3 Version) Profi-Antenne (incl. CUxD EnOcean Lizenz))In deiner Anleitung wird ein EnOcean USB 300 Gateway beschrieben.
Kann man nun meinen FAM-USB nutzen?
Gruß
Martin -
@MartyBr denke schon, am besten Testen.
-
@Jey-Cee Danke. Dann teste ich das mal an einem langen Wochenende. Über Enocean laufen ca. 25 Geräte, u.a. die Rollo-Aktoren von Eltako.
-
@MartyBr sagte in Test Adapter EnOcean v0.3.x:
die Rollo-Aktoren
Dann ist der Adapter nichts für dich, der Empfängt nur Daten senden hat noch keiner eingebaut.
-
@Jey-Cee Schade. Ich hatte die Hoffnung, dass ich auch diese Geräte in den ioBroker installieren könnte.
Dann ziehe ich mir die weiter über den RPC Adapter rein.
Danke für die Info. -
Habe die beiden Eltako Taster TF-FKE + TF-FTE nun manuell angelegt und sie funktionieren - für andere vielleicht einfach zu handhaben, jedoch für mich nicht alles selbsterklärend. Die Variablen zur Konfiguration des EEP-Profils "F6-10-00" habe dann der Datei /opt/iobroker/node_modules/iobroker.enocean/eep/EEP2IOB.json entnommen.
Anbei die RAW-Daten meiner Konfig; sind vielleicht für andere noch hilfreich:Konfig Objekt-fef6e05f
{
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1578758542666,
"common": {
"name": "Window Handle",
"role": "",
"icon": ""
},
"native": {
"id": "fef6e05f",
"manufacterer": "ENOCEAN GMBH",
"device": "Window Handle",
"desc": "native",
"eep": [
"F6-10-00"
]
},
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"_id": "enocean.0.fef6e05f",
"type": "device"
}
Konfig Objekt-window_handle
{
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1578775861405,
"common": {
"name": "window_handle",
"role": "switch",
"type": "number",
"min": "0",
"max": "2",
"def": "1",
"states": "",
"read": "true",
"write": "false"
},
"native": {},
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1636
},
"_id": "enocean.0.fef6e05f.window_handle",
"type": "state"
}
Konfig Objekt-rssi
{
"_id": "enocean.0.fef6e05f.rssi",
"type": "state",
"common": {
"name": "Signal Strength",
"role": "value.rssi",
"type": "number",
"read": true,
"write": false
},
"native": {},
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1578759224684,
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1636
}
}Das war es dann erstmal, jetzt muß ich mich mit der Logik (Blockly) und einer Visualisierung beschäftigen.
Danke für die Hinweise - bis dann mustang
-
-
Hier gehts zur Umfrage ob Interesse an einer Weiterentwicklung des enOcean Adapters besteht.
-
Servus @Jey-Cee
Eine kurze Frage, da ich evtl die meisten Aktoren raus werfe und gegen Shelly's täusche. Kann dieser Adapter schon die Daten der Wetterstation verarbeiten? Da muss er ja nur empfangen und nichts senden.
-
@Grantlhaua sagte in Test Adapter EnOcean v0.3.x:
Servus @Jey-Cee
Eine kurze Frage, da ich evtl die meisten Aktoren raus werfe und gegen Shelly's täusche. Kann dieser Adapter schon die Daten der Wetterstation verarbeiten? Da muss er ja nur empfangen und nichts senden.
Welche Wetterstation? Ich denke eher nicht da sind wenig Geräte implementiert.
-
Guten Morgen,
den
Eltako 4824664 Multisensor MS IP44 EnOcean mit Eltako 2719447 Funk-Sendemodul für Wetterdaten, FWS 61-24 V DC
Viele Grüße
-
@Grantlhaua Was genau wirfst Du denn raus? Gerade bei enOcean hätte ich evtl. Interesse an den Sachen.
-
Eventuell die ganzen Jalousieaktoren aber im ersten Schritt mal 4 451 FU-EBI(M) o.T.
Mein Problem sind weniger die Aktoren als die zentrale von kermi. Mit den Tastern und Aktoren an sich bin ich zufrieden nur die zentralsteuerung lässt sehr zu wünschen übrig.
-
@Grantlhaua Das sagt mir alles nichts. Hast Du vielleicht eine Beschreibung und ein paar Bilder davon, damit ich mir darunter etwas vorstellen kann? Ich betreibe meine Rolläden mit Jarolift Thor Zeitschaltuhren, mit denen ich sehr zufrieden bin und die ich dementsprechend auch weiternutzen möchte. Sofern die Aktoren von Dir sich da irgendwie "zwischenschalten" (und mit ioBroker mit enOcean Stick bedienen) lassen, wäre das aber interessant für mich.
-
Da lässt sich bestimmt was machen, ich schau mir mal den Schaltplan von deinen Tastern an
-
Ich hab mal die Betriebsanleitung durchgeblättert. Da die ja ne eigene Steuerung mit Zeiterfassung,... Drin haben wird ein gleichzeitiger Betrieb schwierig glaub ich... Ds problem hast du dann aber mit jedem Aktor.
Hier die Infos von der Hersteller Homepage
-
@Jey-Cee said in Test Adapter EnOcean v0.3.x:
Der Multisensor crasht den Adapter. Fix => https://github.com/Jey-Cee/ioBroker.enocean/pull/7 `
Den Fix hab ich übernommen. Läuft der Multisensor und liefert er auch alle Daten an ioBroker?
Edit: Was kostet der Sensor?
Hallo @Jey-Cee
Hier schreibst du er is implementiert. Das würde mir sehr helfen wenn das geht
-
der adapter funktioniert nicht mehr unter Node.js: v12.16.3
$ ./iobroker url "https://github.com/Jey-Cee/ioBroker.enocean" install https://github.com/Jey-Cee/ioBroker.enocean/tarball/66e50e5d1b55213d303b710c25dd12c5a5487458 NPM version: 6.14.4 npm install https://github.com/Jey-Cee/ioBroker.enocean/tarball/66e50e5d1b55213d303b710c25dd12c5a5487458 --loglevel error --prefix "/opt/iobroker" (System call) node-aead-crypto not needed on this system, since all ciphers are natively supported In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:../../../../nan/nan.h:2294: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) ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:41:48: error: no matching function for call to ‘v8::Value::ToString()’ v8::String::Utf8Value path(info[0]->ToString()); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’ V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString( ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 providedIn file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’ Local<String> ToString(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided Local<String> ToString(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~../src/serialport.cpp:48:53: error: no matching function for call to ‘v8::Value::ToObject()’ v8::Local<v8::Object> options = info[1]->ToObject(); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’ V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject( ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2672:44: note: candidate expects 1 argument, 0 providedIn file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’ Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2686:31: note: candidate expects 1 argument, 0 provided Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/serialport.cpp:78:69: 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] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘void EIO_AfterOpen(uv_work_t*)’:../src/serialport.cpp:95:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:113:53: error: no matching function for call to ‘v8::Value::ToObject()’ v8::Local<v8::Object> options = info[1]->ToObject(); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’ V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject( ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2672:44: note: candidate expects 1 argument, 0 providedIn file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’ Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2686:31: note: candidate expects 1 argument, 0 provided Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/serialport.cpp:135:71: 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] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘void EIO_AfterUpdate(uv_work_t*)’:../src/serialport.cpp:150:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:175:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); ^~~~~~~~~~~~~~../src/serialport.cpp: In function ‘void EIO_AfterClose(uv_work_t*)’:../src/serialport.cpp:188:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:215:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); ^~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘void EIO_AfterFlush(uv_work_t*)’:../src/serialport.cpp:231:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:250:53: error: no matching function for call to ‘v8::Value::ToObject()’ v8::Local<v8::Object> options = info[1]->ToObject(); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’ V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject( ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2672:44: note: candidate expects 1 argument, 0 providedIn file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’ Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2686:31: note: candidate expects 1 argument, 0 provided Local<Object> ToObject(Isolate* isolate) const); ^~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../src/serialport.cpp:270:68: 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] uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); ^~~~~~~~~~~~ ../src/serialport.cpp: In function ‘void EIO_AfterSet(uv_work_t*)’:../src/serialport.cpp:285:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:314:68: 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] uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); ^~~~~~~~~~~~ ../src/serialport.cpp: In function ‘void EIO_AfterGet(uv_work_t*)’:../src/serialport.cpp:329:96: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts)); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~../src/serialport.cpp:330:96: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr)); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~../src/serialport.cpp:331:96: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd)); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~../src/serialport.cpp:336:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:363:76: 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] uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); ^~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘void EIO_AfterGetBaudRate(uv_work_t*)’:../src/serialport.cpp:378:106: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate)); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~../src/serialport.cpp:383:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(2, argv); ^ In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:409:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘void EIO_AfterDrain(uv_work_t*)’:../src/serialport.cpp:424:30: warning: ‘v8::Local<v8::Value> Nan::Callback::Call(int, v8::Local<v8::Value>*) const’ is deprecated [-Wdeprecated-declarations] data->callback.Call(1, argv); ^In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../../../../nan/nan.h:1742:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~../src/serialport.cpp: At global scope:../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { ^ ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^../src/serialport.cpp:460:17: error: variable or field ‘init’ declared void void init(v8::Handle<v8::Object> target) { ^~~~~~../src/serialport.cpp:460:17: error: ‘Handle’ is not a member of ‘v8’../src/serialport.cpp:460:34: error: expected primary-expression before ‘>’ token void init(v8::Handle<v8::Object> target) { ^../src/serialport.cpp:460:36: error: ‘target’ was not declared in this scope void init(v8::Handle<v8::Object> target) { ^~~~~~ ../src/serialport.cpp:460:36: note: suggested alternative: ‘tzset’ void init(v8::Handle<v8::Object> target) { ^~~~~~ tzset In file included from ../../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:../src/serialport.cpp:485:25: error: ‘init’ was not declared in this scope NODE_MODULE(serialport, init); ^~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’ (node::addon_register_func) (regfunc), \ ^~~~~~~../src/serialport.cpp:485:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ ../src/serialport.cpp:485:25: note: suggested alternative: ‘int’ NODE_MODULE(serialport, init); ^~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’ (node::addon_register_func) (regfunc), \ ^~~~~~~../src/serialport.cpp:485:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ make: *** [serialport.target.mk:112: Release/obj.target/serialport/src/serialport.o] Fehler 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)gyp ERR! stack at ChildProcess.emit (events.js:310:20)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Linux 4.19.97-v7l+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /opt/iobroker/node_modules/iobroker.enocean/node_modules/serialport gyp ERR! node -v v12.16.3gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! serialport@6.2.2 install: `prebuild-install || node-gyp rebuild`npm ERR! Exit status 1npm ERR! npm ERR! Failed at the serialport@6.2.2 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/iobroker/.npm/_logs/2020-05-07T06_47_11_803Z-debug.log ERROR: host.raspberrypi Cannot install https://github.com/Jey-Cee/ioBroker.enocean/tarball/66e50e5d1b55213d303b710c25dd12c5a5487458: 1 ERROR: process exited with code 25
-
hatte das gleiche Problem nach Node.js update auf 12.17.0, konnte es aber lösen durch Installation von serialport über npm.
Dazu habe ich erstmal den Enocean Adapter deinstalliert und dann über
npm install serialport
einmal eine Neuinstallation des serialports forciert.
Danach einfach wieder Adapter installieren und dann ging alles wie gewohnt