NEWS
Test Adapter wireless-mbus v0.9.x
-
@Lenny-CB wie sieht's aus? Weiterhin keine Daten?
-
@lvogt
ich habe das mal eine Weile beobachtet.
Meine Aussage "es kommen keinen Daten" war etwas vorschnell. Über Nacht kamen welche aber in recht unregelmäßigen Abständen. Ein Neustart des Adapters brachte da keine Besserung. Der erste Datensatz kam ca. 10 Minuten nach dem Start.Ich hatte dann den PI neu gebootet. Siehe da, alles gut.
Adapter grün, Daten kommen sofort nach dem Start und weiterhin regelmäßig.Läuft also, meine ich! Vielen Dank!
-
@Lenny-CB Sehr schön. Danke für die Rückmeldung.
Ich werde dann vermutlich im Laufe des Tages eine Version 0.5.2 auf Github schieben, die wird aber nur README Änderungen etc. enthalten - updaten lohnt sich also nicht für dich -
Hallo,
Ist hier in dem thread noch jemand aktiv? Ich würde Hilfe benötigen.Habe iobroker auf meiner synology laufen und einen amber Stick, womit ich meinen ipear wasserzähler auslesen möchte.
So richtig komme ich aber nicht zurecht...
Grüße
dittmar -
Wie wär's mit mehr Informationen?
-
Hallo Ivogt,
danke für deine Rückfrage.
Das Problem ist/war, dass ich so gut wie keine Grundkenntnisse in Linux oder auch mit iobroker habe.
Mir hat es in deinem Adapter als Schnittstelle nur /dev/ttyACM0 und /dev/ttyS0-S3 angezeigt.
Der ACM0 ist bereits durch den Zigbee Stick in Verwendung.
An dem ttyS0-S3 habe ich aber den Amber Wireless Stick nicht zum laufen gebracht.
Um es abzukürzen, mittlerweile läuft mein Amber Wirless stick in deinem Adapter, auch mein Wasserzähler wurde automatisch erkannt und ich wurde nach dem AES Key gefragt.
Alles andere zum Problem, kann man hier in diesem Thread nachlesen.
Danke!
Grüße,
dditt -
............
-
@hartwigm said in Test Adapter wmbus v0.5.x:
nachdem beim mir der Austausch von Wasserzählern in 3 Wohnungen ansteht und ich da keine Verkabelungsmöglichkeit habe, wollte ich das mit mbus machen.
Ich habe mir einen Wasserzähler von NRZ mit Mod-wm Bus T1 Mode geholt und einen iM8741A _USB Stick.
Im Iobroker kommt zunächst mal kein Fehler, aber ich kann auch keine Geräte erkennen.
Da ich beim dem Thema neu bin, stellt sich für mich schon mal die Frage, wie muss ich das Mbus Gerät dem Stick bekannt machen?
Auf der Adapterseite ist der Stick ausgewählt und als Mode T eingetragen.
Was hat das mit dem AED Schlüssel auf sich? Bekomme ich den vom Lieferant oder vergebe ich den selbst?
Wie führe ich die Koppelung durch?Vielleicht kann mir das jemand auf die Sprünge helfen!
Vielen Dank
-
für Hilfe wäre ich dankbar
-
Nabend zusammen, ich bin ziemlich neu auf dem Thema. kann mir jmd. sagen ob ich mit dem adapter einen kamstrup multical 21 auslesen kann (key vorrausgesetzt) auslesen kann?
Was ich weiß, dass ich Wireless M-Bus, 868 MHz, Mode C1, Ver. 2 auslesen muss. Habe ein paar mal gelesen, das Mode C1 ein problem sein könnte. zudem, was brauch ich hier für eine Hardware?
MfG Christoph -
Hallo zusammen,
ich bekomme ich auch die nächsten Tage einen Sensus iPerl mit WM-Bus.
Es ist unklar ob in 433MHz oder 868MHz gesendet wird.Hat jemand den iPerl schon auslesen können?
Wenn ja, auf welcher Frequenz und welchen Stick bräuchte ich dafür? -
@ple sagte in Test Adapter wmbus v0.5.x:
Jetzt ist nur schade, dass meine Zähler nur alle 15 min mal was senden und ich die nicht einfach umstellen kann. Beim nächsten mal gibt es M-Bus Zähler.
Ist das wirklich so? Ich stehe noch vor der Entscheidung WMZ mit wM-Bus oder nur M-Bus. Bin jetzt gedanklich eher bei wM-Bus gelandet, aber nur alle 15 min einen Datenpunkt ist ja echt spärlich. Das geht wirklich nicht schneller?
Ich scheitere aber sowieso noch generell (siehe https://forum.iobroker.net/topic/36926/wm-bus-im-iobroker-docker-wie-mache-ich-das)... -
@Chris87 Ich habe das Auslesen mit dem Kamstrup Multical 21 gelöst. Lösung sieht so aus: Raspi 4 + iM871A USB-Stick
![alt text](image url) -
@matze-dev
Hey, hab den gleichen Stick auch zuhause. Leider Hat mich mein Wasserversorger im stich gelassen und mir den Key nicht gegeben...Danke für deine machricht.
-
@Chris87 sagte in Test Adapter wmbus v0.5.x:
@matze-dev
Leider Hat mich mein Wasserversorger im stich gelassen und mir den Key nicht gegeben...Meiner baut erst gar keine intelligenten Zähler ein, selbst wenn man es bezahlen würde...
-
@Chris87 Hi, ist etwas komplex. Der Wasserversorger möchte gern eine Übernahmeereklärung haben, dass er im Falle eines Auszuges dann die Kosten für den Neueinbau eines Zählers auf den Altkunden umlegen darf. Die Zähler sind m.W. so um die 200 €. Da wir ein Haus haben und nicht ausziehen, war es für uns kein Problem - haben die xml-Datei vom Wasserversorger zugeschickt bekommen. Habe Haftungszusage bis zur Höhe von 200 € abgegeben. Danach funzte es ohne Probleme. Das ist auch verständlich, da sie mit Auszug den Zähler tauschen müssen, da sie für den Nachmieter einen neuen Zähler einbauen müssen (der Vormieter könnte ja sonst unberechtigterweise noch den Zählerstand abholen - da wollen sie sich gegen schützen). Viel Glück
-
@hartwigm Hallo, das geht erst einmal. Die Hilfe beim WMBus-Adapter ist schon sehr gut.
Das Verfahren funktioniert so: der Adapter lauscht auf Events und dekodiert diese dann mittels des AES-Schlüssels (kommt vom Wasserversorger - Hinweise siehe unten). Diese Events schickt er als MQTT-Client (mosquito-Paket im Debian installlieren) auf die Reise. Im iobroker muss dann der MQTT-Server, javascript etc. installiert werden. Der MQTT-Server nimmt die Datagramme an und dann kann man diese mit den Java-Scripten als Webseite aufbereiten.
Die Scripten zur Einrichtung habe ich da. Leider habe ich es noch nicht geschafft, die Doku zu schreiben. Hatte noch einige Zeit mit den WMBus-Entwicklern zu schaffen gehabt, da die Kamstrup Multical 21 in DE mit dem T1-decodiertem Protokoll um die Ecke kommen (steht auf der Zählerkennung - die Zuordnung des Zählertyps ist hier ableitbar: http://products.kamstrup.com/ajax/downloadFile.php?uid=5bcecc825f706&display=1, weiter interessante Infos zum Multical 21: https://products.kamstrup.com/download.php?uid=515d4ab700278). Das haben sie mittlerweile eingebaut - ich habe die neue Version aber noch nicht durchgetestet. -
Hallo,
ich kann aktuell den Adapter hier nicht mehr installieren, da es scheinbar Probleme gibt mit dem aktuellen nodejs v12.
Wer hat den Adapter denn jetzt erst kürzlich installiert und mit welcher node-js Version?
-
@dditt
hey, das Problem hatte ich auch anfangs.
bring mal dein System up to date apt-get update, apt-get upgrade....
Danach hats bei mir funktioniert.
Viel Glück.
-
Ich habe mich auch nochmals an dem Adapter versucht, allerdings bekomme ich diesen nicht mehr installiert.
System ist auf dem neusten Stand.
Für Hilfe wäre ich dankbar.Gruß Hartwig
Fertig mit Fehler: host.iobroker Cannot install ISFH/ioBroker.wmbus#4fce68c57f915840c787f1d3df1194aae5afc56e: 1
$ ./iobroker url "https://github.com/ISFH/ioBroker.wmbus" --debug install ISFH/ioBroker.wmbus#4fce68c57f915840c787f1d3df1194aae5afc56e NPM version: 6.14.10 npm install ISFH/ioBroker.wmbus#4fce68c57f915840c787f1d3df1194aae5afc56e --loglevel error --prefix "/opt/iobroker" (System call) > serialport@6.2.2 install /opt/iobroker/node_modules/iobroker.wmbus/node_modules/serialport> prebuild-install || node-gyp rebuild make: Entering directory '/opt/iobroker/node_modules/iobroker.wmbus/node_modules/serialport/build' CXX(target) Release/obj.target/serialport/src/serialport.o ../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.20.1/include/node/node.h:67:0, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 providedIn file included from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ /home/iobroker/.cache/node-gyp/12.20.1/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.20.1/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.20.1/include/node/node.h:67:0, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8.h:2672:44: note: candidate expects 1 argument, 0 providedIn file included from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740: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.20.1/include/node/node.h:67:0, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8.h:2672:44: note: candidate expects 1 argument, 0 providedIn file included from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~../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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~../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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740: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.20.1/include/node/node.h:67:0, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8.h:2672:44: note: candidate expects 1 argument, 0 provided In file included from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../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.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^/home/iobroker/.cache/node-gyp/12.20.1/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.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^/home/iobroker/.cache/node-gyp/12.20.1/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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~../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.20.1/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.20.1/include/node/node.h:67, from ../../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.20.1/include/node/v8.h:3499:22: note: declared here bool Set(Local<Value> key, Local<Value> value)); ^/home/iobroker/.cache/node-gyp/12.20.1/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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~../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:0, from ../src/serialport.cpp:1:../../../../nan/nan.h:1740:3: note: declared here Call(int argc, v8::Local<v8::Value> argv[]) const { ^~~~ ../src/serialport.cpp: At global scope:../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) { ^~~~~~ tzsetIn file included from ../../../../nan/nan.h:54:0, 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.20.1/include/node/node.h:737: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.20.1/include/node/node.h:737: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); ^~~~~~~~~~~ serialport.target.mk:114: recipe for target 'Release/obj.target/serialport/src/serialport.o' failedmake: Leaving directory '/opt/iobroker/node_modules/iobroker.wmbus/node_modules/serialport/build'make: *** [Release/obj.target/serialport/src/serialport.o] Error 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:314:20)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)gyp ERR! System Linux 4.15.0-135-genericgyp 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.wmbus/node_modules/serialportgyp ERR! node -v v12.20.1gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! serialport@6.2.2 install: `prebuild-install || node-gyp rebuild` npm ERR! Exit status 1 npm 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/2021-02-10T08_07_07_099Z-debug.log ERROR: host.iobroker Cannot install ISFH/ioBroker.wmbus#4fce68c57f915840c787f1d3df1194aae5afc56e: 1 ERROR: process exited with code 25