Hello together,
i am proud to inform you that pimatic-maxcul is now NodeJs v8-12 compatible.
I have not tested it with v4 anymore so better do not Update if you use one of the older node versions.
Regards
fbeek
pimatic-maxcul
Hello together,
i am proud to inform you that pimatic-maxcul is now NodeJs v8-12 compatible.
I have not tested it with v4 anymore so better do not Update if you use one of the older node versions.
Regards
fbeek
Hello!
I wanted to install Pimatic on a fresh Raspbian Buster, Node 10.16. When pimatic-maxcul tries to install it fails with a serialport error.
Hello,
can you please provide the detailed error message?
Without this I can`t do anything.
16:16:45.018 [pimatic, ppm] info: In file included from /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:26,
16:16:45.019 [pimatic, ppm] info: from /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/node.h:63,
16:16:45.020 [pimatic, ppm] info: from …/node_modules/nan/nan.h:24,
16:16:45.022 [pimatic, ppm] info: from …/src/serialport.h:5,
16:16:45.023 [pimatic, ppm] info: from …/src/serialport.cpp:3:
16:16:45.024 [pimatic, ppm] info: /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:2450:30: note: candidate: âv8::Localv8::Int32 v8::Value::ToInt32(v8::Isolate*) constâ
16:16:45.030 [pimatic, ppm] info: Local<Int32> ToInt32(Isolate* isolate) const);
16:16:45.031 [pimatic, ppm] info: ^~~~~~~
16:16:45.032 [pimatic, ppm] info: /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro âV8_DEPRECATEDâ
16:16:45.033 [pimatic, ppm] info: declarator attribute((deprecated(message)))
16:16:45.034 [pimatic, ppm] info: ^~~~~~~~~~
16:16:45.035 [pimatic, ppm] info: /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:2450:30: note: candidate expects 1 argument, 0 provided
16:16:45.036 [pimatic, ppm] info: Local<Int32> ToInt32(Isolate* isolate) const);
16:16:45.037 [pimatic, ppm] info: ^~~~~~~
16:16:45.038 [pimatic, ppm] info: /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro âV8_DEPRECATEDâ
16:16:45.039 [pimatic, ppm] info: declarator attribute((deprecated(message)))
16:16:45.040 [pimatic, ppm] info: ^~~~~~~~~~
I had similar messages. I have downgraded to Stretch, here it works with Node 10.xx.
Today I got a new nanocul. I can connect via screen /dev/ttyUSB0 38400 and with command V i get the version number as expected. When I start Pimatic I get this:
[pimatic-maxcul]: serialPort /dev/ttyUSB0 is open!
[pimatic-maxcul]: using serial device /dev/ttyUSB0@38400
but when i want to access one of my Max! devices I get this message
info [pimatic-maxcul]: Paket 0b010040123456065e060009 send but no response!
On my Raspi I have Stretch, Node 10.16 and the latest Pimatic fresh installed.
With Screen I get this:
V 1.66_nocredits nanoCUL868
Z0B8806300192F61234560012
Z0BFD053004D1B606A6BA0010
Z0BFD053004D1B606A6BA0050
Z0BFE053004D1B606A6BA0012
Z0BFE053004D1B606A6BA0052
Z0BFE053004D1B606A6BA0052
Z0BFE053004D1B606A6BA0052
when opening and closing a window
Hello, i have not tested with a Version newer than stretch so it can be that there is some problem with the compiler version that i can not fix.
Your Cul receicev the the messages from your window but can temporarily not answer.
In your log you can see a string “no credits”. this means you have send to many radio messages and reached the ISM 1% Limit that is forced by eu law and have to wait. Please read the readme file and the Github issues. This Problem have been discussed multiple times.
And here are additional infos for that: https://wiki.fhem.de/wiki/LOVF
I have Stretch installed since with Buster I get errors when Pimatic installs the plugin. The no_credits string is part of the culfw id string.
Now i have my old nanocul attached, which was (I thought) broken and now i can access als my devices again.
I bought the prebuild nanocul, because it has levelshifter and a better antenna. Do I have to reset my devices and pair again with a new cul?
Yes Buster was not tested.
No need to repair.
The Id is in the software not in the cul firmware.
And yes the credit info comes from the firmware.
Thats from the version.h of my culfw:
#define VERSION_1 1
#define VERSION_2 66
#define VERSION “1.66_nocredits”
Ok than you have a firmware installed with removed credit support and not an official one. I cannot give you a guarantee that this is fully compatible with maxcul but it should work if the patch was done right.
Please have in mind that the usage of such a firmware is against the law in Germany
Have you tried to enable debug mode of the plugin and pimatic? then you can see what pimatic is receiving and internal messages from maxcul
What I don’t understand is why the new nano is accessible via screen but not in Pimatic. And why does the old one work now after dozens of tries and hundred of Pimatic restarts.
The only difference between both is the serial chip, the old has a CH341, the new one a FTDI.
have you check the usb port name in dev? Some culs like min generate a AC… device and some an ttyUSBx Device.
Checked the dev’s, tried by-path and by-id, it’s all ok.
i restarted Pimatic after enabling the debug output and now the old nano, which worked a few minutes ago, stopped working. in the Pimatic messages are only the informations of the opened port, but not the version info and this:
debug [pimatic-maxcul]: message was no valid MAX! paket.
22:02:11debug [pimatic-maxcul]: packet length missmatch
22:02:11debug [pimatic-maxcul]: RSSI for Message : -65
22:02:11debug [pimatic-maxcul]: decoding Message Z0B8806300192F61234560012
22:02:11debug [pimatic-maxcul]: incoming raw data from CUL: Z0B8806300192F61234560012
I tried all the combinations to get the plugin up and running.
The serial port is opened and used, but the plugin does not return the version number of my nanocul.
With Screen can be the nanocul address and control, then I installed FHEM and it works everything as it should.
When installing the plugin 2-3 warnings appear because of serialport variable definitions, otherwise the process runs clean.
Latest try: Stretch, Node 10.16 and the latest Pimatic fresh installed.
I tested the plugin now a couple of days on three machines with different node versions (8, 10,11) 1 original cul one nano cul and one selfmade cul. Every cul had managed one window contact and one heating element.
In your log can i see the version string. But no errors.
I can not recreate your problems on my instances.
what errors do you get? I think there is a problem with your nodejs setup. Screen does not use it and fhem is written in pearl. Have you tested a simple console programm on a node js base?
Thats the point. Anything but node works, so in my opinion it’s a problem with node, Pimatic or the plugin or something else. Yesterday I started a new try with fresh installed node 10.16, after completely removing node and Pimatic. When installing the plugin I got this errors/warnings (see below):
After that I went to bed and left a starting Pimatic and a running FHEM (too late, too tired) and today I found this
…
03:21:29.420 [pimatic-maxcul] incoming raw data from CUL: V 1.66_nocredits nanoCUL868
03:21:29.422 [pimatic-maxcul] Got Version String
03:21:29.424 [pimatic-maxcul] CUL FW Version: V 1.66_nocredits nanoCUL868
…
in my terminal.
Warnings at installation:
21:07:41.721 [pimatic] Installing: “pimatic-maxcul@1.1.0” from npm-registry.
21:08:41.301 [pimatic, ppm] > serialport@6.2.2 install /home/pi/pimatic-app/node_modules/pimatic-maxcul/node_modules/serialport
21:08:41.304 [pimatic, ppm] > prebuild-install || node-gyp rebuild
21:08:42.981 [pimatic, ppm] prebuild-install WARN install No prebuilt binaries found (target=10.16.0 runtime=node arch=arm platform=linux)
21:08:45.646 [pimatic, ppm] make: Verzeichnis „/home/pi/pimatic-app/node_modules/pimatic-maxcul/node_modules/serialport/build“ wird betreten
21:08:45.651 [pimatic, ppm] CXX(target) Release/obj.target/serialport/src/serialport.o
21:08:48.724 [pimatic, ppm] …/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
21:08:48.727 [pimatic, ppm] …/src/serialport.cpp:41:49: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Localv8::Value)’ is deprecated: Use Isolate version [-Wdeprecated-declarations]
21:08:48.729 [pimatic, ppm] v8::String::Utf8Value path(info[0]->ToString());
21:08:48.732 [pimatic, ppm] ^
21:08:48.743 [pimatic, ppm] In file included from /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:26:0,
21:08:48.746 [pimatic, ppm] from /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/node.h:63,
21:08:48.748 [pimatic, ppm] from …/node_modules/nan/nan.h:54,
21:08:48.750 [pimatic, ppm] from …/src/./serialport.h:6,
21:08:48.753 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.756 [pimatic, ppm] /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:2892:28: note: declared here
21:08:48.758 [pimatic, ppm] explicit Utf8Value(Localv8::Value obj));
21:08:48.761 [pimatic, ppm] ^
21:08:48.763 [pimatic, ppm] /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
21:08:48.766 [pimatic, ppm] declarator attribute((deprecated(message)))
21:08:48.769 [pimatic, ppm] ^~~~~~~~~~
21:08:48.771 [pimatic, ppm] …/src/serialport.cpp:48:53: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
21:08:48.773 [pimatic, ppm] v8::Localv8::Object options = info[1]->ToObject();
21:08:48.776 [pimatic, ppm] ^
21:08:48.779 [pimatic, ppm] In file included from /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/node.h:63:0,
21:08:48.781 [pimatic, ppm] from …/node_modules/nan/nan.h:54,
21:08:48.784 [pimatic, ppm] from …/src/./serialport.h:6,
21:08:48.786 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.789 [pimatic, ppm] /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:10046:15: note: declared here
21:08:48.792 [pimatic, ppm] Local<Object> Value::ToObject() const {
21:08:48.795 [pimatic, ppm] ^~~~~
21:08:48.843 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterOpen(uv_work_t*)’:
21:08:48.846 [pimatic, ppm] …/src/serialport.cpp:95:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:48.849 [pimatic, ppm] data->callback.Call(2, argv);
21:08:48.851 [pimatic, ppm] ^
21:08:48.854 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:48.856 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.868 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:48.870 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:48.873 [pimatic, ppm] ^~~~
21:08:48.875 [pimatic, ppm] …/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
21:08:48.878 [pimatic, ppm] …/src/serialport.cpp:113:53: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
21:08:48.881 [pimatic, ppm] v8::Localv8::Object options = info[1]->ToObject();
21:08:48.884 [pimatic, ppm] ^
21:08:48.886 [pimatic, ppm] In file included from /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/node.h:63:0,
21:08:48.890 [pimatic, ppm] from …/node_modules/nan/nan.h:54,
21:08:48.892 [pimatic, ppm] from …/src/./serialport.h:6,
21:08:48.895 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.897 [pimatic, ppm] /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:10046:15: note: declared here
21:08:48.899 [pimatic, ppm] Local<Object> Value::ToObject() const {
21:08:48.901 [pimatic, ppm] ^~~~~
21:08:48.903 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterUpdate(uv_work_t)’:
21:08:48.906 [pimatic, ppm] …/src/serialport.cpp:150:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:48.908 [pimatic, ppm] data->callback.Call(1, argv);
21:08:48.910 [pimatic, ppm] ^
21:08:48.912 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:48.918 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.920 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:48.922 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:48.925 [pimatic, ppm] ^~~~
21:08:48.927 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterClose(uv_work_t)’:
21:08:48.929 [pimatic, ppm] …/src/serialport.cpp:188:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:48.931 [pimatic, ppm] data->callback.Call(1, argv);
21:08:48.933 [pimatic, ppm] ^
21:08:48.935 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:48.938 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.940 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:48.942 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:48.944 [pimatic, ppm] ^~~~
21:08:48.946 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterFlush(uv_work_t)’:
21:08:48.948 [pimatic, ppm] …/src/serialport.cpp:231:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:48.950 [pimatic, ppm] data->callback.Call(1, argv);
21:08:48.953 [pimatic, ppm] ^
21:08:48.955 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:48.957 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.959 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:48.961 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:48.963 [pimatic, ppm] ^~~~
21:08:48.965 [pimatic, ppm] …/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
21:08:48.968 [pimatic, ppm] …/src/serialport.cpp:250:53: warning: ‘v8::Localv8::Object v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
21:08:48.970 [pimatic, ppm] v8::Localv8::Object options = info[1]->ToObject();
21:08:48.972 [pimatic, ppm] ^
21:08:48.974 [pimatic, ppm] In file included from /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/node.h:63:0,
21:08:48.976 [pimatic, ppm] from …/node_modules/nan/nan.h:54,
21:08:48.978 [pimatic, ppm] from …/src/./serialport.h:6,
21:08:48.980 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:48.982 [pimatic, ppm] /home/pi/pimatic-app/.node-gyp/10.16.0/include/node/v8.h:10046:15: note: declared here
21:08:48.984 [pimatic, ppm] Local<Object> Value::ToObject() const {
21:08:48.987 [pimatic, ppm] ^~~~~
21:08:48.989 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterSet(uv_work_t)’:
21:08:48.991 [pimatic, ppm] …/src/serialport.cpp:285:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:48.993 [pimatic, ppm] data->callback.Call(1, argv);
21:08:48.995 [pimatic, ppm] ^
21:08:48.997 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:48.999 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:49.001 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:49.004 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:49.006 [pimatic, ppm] ^~~~
21:08:49.008 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterGet(uv_work_t)’:
21:08:49.010 [pimatic, ppm] …/src/serialport.cpp:336:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:49.012 [pimatic, ppm] data->callback.Call(2, argv);
21:08:49.015 [pimatic, ppm] ^
21:08:49.017 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:49.019 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:49.021 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:49.023 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:49.025 [pimatic, ppm] ^~~~
21:08:49.027 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterGetBaudRate(uv_work_t)’:
21:08:49.030 [pimatic, ppm] …/src/serialport.cpp:383:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:49.032 [pimatic, ppm] data->callback.Call(2, argv);
21:08:49.034 [pimatic, ppm] ^
21:08:49.036 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:49.038 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:49.042 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:49.052 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:49.054 [pimatic, ppm] ^~~~
21:08:49.056 [pimatic, ppm] …/src/serialport.cpp: In function ‘void EIO_AfterDrain(uv_work_t)’:
21:08:49.059 [pimatic, ppm] …/src/serialport.cpp:424:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
21:08:49.061 [pimatic, ppm] data->callback.Call(1, argv);
21:08:49.063 [pimatic, ppm] ^
21:08:49.065 [pimatic, ppm] In file included from …/src/./serialport.h:6:0,
21:08:49.067 [pimatic, ppm] from …/src/serialport.cpp:1:
21:08:49.070 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:08:49.072 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:08:49.074 [pimatic, ppm] ^~~~
21:09:06.367 [pimatic, ppm] CXX(target) Release/obj.target/serialport/src/serialport_unix.o
21:09:14.459 [pimatic, ppm] CXX(target) Release/obj.target/serialport/src/poller.o
21:09:17.387 [pimatic, ppm] …/src/poller.cpp: In static member function ‘static void Poller::onData(uv_poll_t, int, int)’:
21:09:17.389 [pimatic, ppm] …/src/poller.cpp:69:29: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value const’ is deprecated [-Wdeprecated-declarations]
21:09:17.391 [pimatic, ppm] obj->callback.Call(2, argv);
21:09:17.393 [pimatic, ppm] ^
21:09:17.403 [pimatic, ppm] In file included from …/src/poller.cpp:1:0:
21:09:17.405 [pimatic, ppm] …/node_modules/nan/nan.h:1740:3: note: declared here
21:09:17.407 [pimatic, ppm] Call(int argc, v8::Localv8::Value argv[]) const {
21:09:17.409 [pimatic, ppm] ^~~~
21:09:22.015 [pimatic, ppm] CXX(target) Release/obj.target/serialport/src/serialport_linux.o
21:09:22.298 [pimatic, ppm] SOLINK_MODULE(target) Release/obj.target/serialport.node
21:09:22.715 [pimatic, ppm] COPY Release/serialport.node
21:09:22.739 [pimatic, ppm] make: Verzeichnis „/home/pi/pimatic-app/node_modules/pimatic-maxcul/node_modules/serialport/build“ wird verlassen
21:09:29.897 [pimatic, ppm] pimatic-maxcul@1.1.0 node_modules/pimatic-maxcul
21:09:29.899 [pimatic, ppm] ├── binary-parser@1.4.0
21:09:29.901 [pimatic, ppm] ├── bitset@5.0.5
21:09:29.903 [pimatic, ppm] ├── sprintf-js@1.1.2
21:09:29.905 [pimatic, ppm] └── serialport@6.2.2 (@serialport/parser-delimiter@1.0.5, @serialport/parser-regex@1.0.5, @serialport/parser-byte-length@1.0.5, @serialport/parser-cctalk@1.0.5, @serialport/parser-ready@1.0.5, bindings@1.3.0, @serialport/parser-readline@1.0.5, promirepl@1.0.1, debug@3.2.6, nan@2.14.0, prebuild-install@4.0.0, prompt-list@3.2.0)
21:09:29.955 [pimatic] Loading plugin: “pimatic-maxcul” (1.1.0)
The Plugin is working as you can see in your log.
If there would be an error in the communication layer of the plugin you would not become the version message.
The other infos where compiler warnings from the Serial Port module, these are normal and i have them too.
Also pimatic-homeduino has these, but these are no problem.
What makes you think the plugin is not working?
A packet length missmatch message has a lot of reasons, from a packet that is received from the wild to a wrong pared device etc. this means nothing if it not happens on every packet.
And a Paket with no response message can also happen randomly because of inteferences on the radio channel or the device is to far away. I have multiple of them per week.