NEWS
Test Adapter wireless-mbus v0.9.x
-
@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
-
Ich hätte mal eine Frage
ich versuche gerade meine Wärmenmengenzähler von der Firma Zenner einzubinden aber
sobald ich den Adapter aktiviere schmiert mein IoBroker nach ein paar Minuten ab. Jemand eine Idee woran es liegen könte? -
Und dann mal die Frage ob es einen Unterschied zum Wireless Adapter 0.1.12 ?
Wobei sich Dieser auch nicht Installieren lässt.Mein System ist soweit auch auf den neusten Stand
-
Hallo zusammen,
ich versuche mich gerade daran meinen Wasserzähler (Qualcosonic W1) via wm-bus in iobroker zu implementieren. Dabei bin ich hier über den iobroker.wmbus Adapter "gestolpert". Kann mir vielleicht jemand helfen wie ich den Adapter unter meinem Raspi installieren kann?
Danke und Grüsse
Jochen -
@hartwigm sagte in Test Adapter wmbus v0.5.x:
... allerdings bekomme ich diesen nicht mehr installiert.
System ist auf dem neusten Stand.
der wm-bus Adapter 0.5.2 läuft unter node-js v12 nicht mehr...
Ich betreibe ihn unter node-js v10 und konnte ihn nur über die URL installieren.
-
Hallo.
Habe auch mittlerweile einen Multical 21 mit Wireless M-Bus eingebaut bekommen und würde diesen gerne auslesen.
Den AES-Key bekomme ich demnächst vom Wasserversorger.
Wird es für den wmbus-Adapter noch ein Update geben, so dass er unter der neuen Version läuft?
Denke das Thema wird in Zukunft immer mehr Leute interessieren, da viele Wasserversorger ihre Zähler umrüsten und auf Wireless Ablesung setzen.
Gibt es eine günstigere Alternativ-Hardware zum iM871A-USB-Stick? Der ist mit ca. 50€ schon relativ teuer.
Danke! -
@lvogt kannst Du deinen Adapter vielleicht mal anpassen, sodass er auch wieder mit Node-JS V12 installierbar ist und läuft?
-
@atifan Hallo, Installationsanleitung steht hier
https://forum.iobroker.net/topic/11087/adapter-wm-bus-kampstrup-multical-21/81
Viel Spass -
@matze-dev darum geht es nicht.
Wenn man node-js von V10 auf V12 updatet, wirft der Adapter "wm-bus" Fehler oder lässt sich bei Neuinstallation gar nicht erst installieren. -
Hi Danke, ich habe mir jetzt mittlerweile nen ESP zum Auslesen gebaut, warte aber immer noch auf den AES-Key vom Wasserversorger
Hab das hier nachgebaut, Materialkosten sind ca. 10 Euro: https://github.com/chester4444/esp-multical21
Der sendet die Daten dann per MQTT.
Mit dem WM-Bus Adapter und nem fertigen Stick wäre das ganze aber bisschen einfacher zu realisieren. -
@lenny-cb Ist auch mein Problem, es lässt sich deswegen gleich gar nicht erst installieren. Weil das schon sehr lange so ist, habe ich meine Heizungsplanung jetzt auch ohne WM-Bus-Wärmemengenzähler abgeschlossen.
-
@jochen-0 sagte in Test Adapter wmbus v0.5.x:
Hallo zusammen,
ich versuche mich gerade daran meinen Wasserzähler (Qualcosonic W1) via wm-bus in iobroker zu implementieren. Dabei bin ich hier über den iobroker.wmbus Adapter "gestolpert". Kann mir vielleicht jemand helfen wie ich den Adapter unter meinem Raspi installieren kann?
Danke und Grüsse
JochenHallo Jochen,
ich stehe gerade auch vor dem Problem den Qualcosonic W1 irgenwie auszulesen. Das Display ist so schlecht/Kontrastarm das es mit der Wasserzählerlösung per Kamera nicht mehr funktioniert.Bist du irgendwie weiter gekommen?
-
Ich habe mal einen minimal Versuch unternommen:
https://github.com/lvogt/ioBroker.wmbus
Da ist einfach nur die Version des serialport Pakets auf einen aktuellen Stand geändert worden. Installieren kann ich das ganze (kurz im ioBroker Docker Container getestet) aber mehr kann ich im Grunde z. Z. nicht unternehmen.
Ich bin nicht mehr beim ISFH angestellt, dass den Adapter für Messtechnik verwendet. Ich selbst besitze keinerlei (sinnvolle) Hardware zum Empfang von wMBus Nachrichten und (vermutlich) auch keine wMBus Geräte in der Nähe... -
@lvogt sagte in Test Adapter wmbus v0.5.x:
Ich habe mal einen minimal Versuch unternommen:
https://github.com/lvogt/ioBroker.wmbus
Da ist einfach nur die Version des serialport Pakets auf einen aktuellen Stand geändert worden. Installieren kann ich das ganze (kurz im ioBroker Docker Container getestet) aber mehr kann ich im Grunde z. Z. nicht unternehmen.
Ich bin nicht mehr beim ISFH angestellt, dass den Adapter für Messtechnik verwendet. Ich selbst besitze keinerlei (sinnvolle) Hardware zum Empfang von wMBus Nachrichten und (vermutlich) auch keine wMBus Geräte in der Nähe...vorab, vielen Dank, dass du dich darum kümmerst.
leider ist es wohl mit der Aktualisierung nicht getan.wmbus.0 2021-08-09 11:18:07.489 warn Terminated (UNCAUGHT_EXCEPTION): Without reason wmbus.0 2021-08-09 11:18:07.473 error SerialPort.list no longer takes a callback and only returns a promise wmbus.0 2021-08-09 11:18:07.471 error TypeError: SerialPort.list no longer takes a callback and only returns a promise at Function.SerialPort.list (/opt/iobroker/node_modules/@serialport/stream/lib/index.js:651:11) at Adapter.processMessage (/opt/iobroker/node_modules/iobroker.wmbus/main.js:438:36) at Adapter.emit (events.js:314:20) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5634:34) at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:232:37) at processImmediate (internal/timers.js:461:21) wmbus.0 2021-08-09 11:18:07.459 error unhandled promise rejection: SerialPort.list no longer takes a callback and only returns a promise wmbus.0 2021-08-09 11:18:07.456 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). wmbus.0 2021-08-09 11:18:06.966 error Serialport errror: Port is not open wmbus.0 2021-08-09 11:18:06.959 error Serialport errror: Error: No such file or directory, cannot open /dev/ttyWMBUS
ich denke, hier wurden ursprünglich bei den symlinks was "umgebogen". Daher lässt sich auch der Port nicht öffnen. ABER, alles nur vermutung.
"dependencies": { "@iobroker/adapter-core": "^1.0.3", "node-aes-cmac": "^0.1.1", "serialport": "https://github.com/lvogt/node-serialport/tarball/v6.2.2-symlinks" },
-
Ja ich hatte "damals" auch an der serialport Bibliothek was geändert, damit die Symlinks mit angezeigt werden, um "stabil" den korrekten Port auswählen zu können. Grundsätzlich hatte "damals" aber auch die unveränderte Serialport Bibliothek funktioniert.
Mit dem "einfachen" Upgrade jetzt geht das dann evtl. nicht mehr - ich habe keine Ahnung wie sich serialport seitdem verändert hat.Deinem Logauszug nach, scheint sie sich jedenfalls deutlich geändert zu haben. Und so ist das ganze wohl nicht lauffähig - unabhängig von den Symlinks.
Ich werde mir das vl. in den nächsten Tagen mal anschauen - aber ich verspreche nichts.
-
So ich habe mal noch ein paar Kleinigkeiten angepasst. Es wird im Moment weiterhin die "normale" serialport Bibliothek verwendet. Falls die weiterhin keine Symlinks unterstützt, dann funktioniert das hier gerade auch nicht.
Falls der Adapter jetzt tatsächlich doch schon wieder läuft, dann könnte ich evtl. auch noch versuchen die Symlinks wieder einzubauen, falls gewünscht.
Falls es immer noch nicht funktioniert, müsste ich mal gucken was man so machen könnte...
EDIT: Ich habe auch mal noch versucht ein paar Fehler im "cul-test" Branch zu fixen. Vielleicht funktioniert das jetzt (wenn der Rest denn wieder funktioniert...)