Hey Leute
Ich habe hier ein Problem und hoffe das ihr mir helfen könnt. Ich habe mir einen ZigBee Stick CC2531 gekauft, dieser ist mit Default-Firmware von Koenkk vom 08.06.2019 installiert.
Wenn ich den anweisungen folge von
https://www.zigbee2mqtt.io/
läuft alles soweit durch aber wenn ich dann versuche es zu starten kommt folgendes
root@raspberrypi-4:/opt/zigbee2mqtt# npm start
> zigbee2mqtt@1.15.0 start /opt/zigbee2mqtt
> node index.js
Zigbee2MQTT:info 2020-11-08 15:28:32: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2020-11-08.15-28-32' filename: log.txt
Zigbee2MQTT:info 2020-11-08 15:28:32: Starting Zigbee2MQTT version 1.15.0 (commit #ed8b4e5)
Zigbee2MQTT:info 2020-11-08 15:28:32: Starting zigbee-herdsman...
Zigbee2MQTT:error 2020-11-08 15:28:33: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2020-11-08 15:28:33: Failed to start zigbee
Zigbee2MQTT:error 2020-11-08 15:28:33: Exiting...
Zigbee2MQTT:error 2020-11-08 15:28:33: Error: Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port'
at Znp.<anonymous> (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32)
at Generator.next (<anonymous>)
at /opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71
at new Promise (<anonymous>)
at __awaiter (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12)
at SerialPort.<anonymous> (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49)
at SerialPort._error (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
at /opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.15.0 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.15.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-11-08T14_28_33_067Z-debug.log
ich weiß nicht wirklich was ich machen soll.
MfG Caleus
@Caleus
Der Fehler ist vermutlich recht eindeutig: Error while opening serialport
Du scheinst eine fehlerhafte Angabe zum Stick in der Konfigurationsdatei zu verwenden ...
@OdfFhem
ich habe nun 2 möglichkeiten versucht
/dev/ttyACM0
/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0014D98CBD-if00
bei beidem ist der Fehler.
Mfg Caleus
@Caleus
In der Konfigurationsdatei verwende ich
serial:
port: /dev/ttyACM0
disable_led: true
Auf Systemebene ergibt "ll /dev/ttyACM0":
crw-rw---- 1 root dialout 166, 0 Nov 4 21:31 /dev/ttyACM0
Auf Systemebene ergibt "ls -l /dev/serial/by-id":
lrwxrwxrwx 1 root root 13 Nov 4 21:31 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X0102030405060708-if00 -> ../../ttyACM0
Wenn die Ausgaben bei Dir auch derart aussehen und es trotzdem nicht funktioniert, wird der Stick scheinbar schon woanders genutzt ...
@OdlfFhem
ja es ist genau so wie bei dir.
wenn ich
ls -l /proc/[0-9]/fd/ |grep /dev/ttyACM0
benutze kommt keine ausgabe
MfG Caleus
@Caleus
"ls -l /proc/[0-9]/fd/ |grep /dev/ttyACM0" ergibt bei mir auch keine Ausgabe ...
Auf Systemebene ergibt "test -w /dev/ttyACM0 && echo success || echo failure":
success
Auf Systemebene ergibt "udevadm info -a -n /dev/ttyACM0":
looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/tty/ttyACM0':
KERNEL=="ttyACM0"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0':
...
looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3':
KERNELS=="1-1.3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="02"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="32"
ATTRS{bMaxPower}=="50mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 2"
ATTRS{bcdDevice}=="0009"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="1"
ATTRS{configuration}==""
ATTRS{devnum}=="4"
ATTRS{devpath}=="1.3"
ATTRS{devspec}==" (null)"
ATTRS{idProduct}=="16a8"
ATTRS{idVendor}=="0451"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Texas Instruments"
ATTRS{maxchild}=="0"
ATTRS{product}=="TI CC2531 USB CDC"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="removable"
ATTRS{rx_lanes}=="1"
ATTRS{serial}=="__0X0102030405060708"
ATTRS{speed}=="12"
ATTRS{tx_lanes}=="1"
ATTRS{urbnum}=="916"
ATTRS{version}==" 2.00"
looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1':
....
looking at parent device '/devices/platform/soc/3f980000.usb/usb1':
...
looking at parent device '/devices/platform/soc/3f980000.usb':
...
looking at parent device '/devices/platform/soc':
...
looking at parent device '/devices/platform':
...
Funktioniert statt "npm start" denn "sudo npm start"?
Wie sieht es bei folgender Vorgehensweise aus?
ZitatWhen you plug the CC2531 in your computer, the green LED should go on. By pressing the reset button on the CC2531 the green LED should go off. The CC2531 has 2 buttons on it, the reset button is the one which is closest to the USB port. Now try starting Zigbee2MQTT again.
Hilfreich wäre es, wenn Du alle Aufrufe (auch die von gestern) - am besten nach einem Neustart des Systems - durchführst und die Ausgaben mitteilst ...
@OdfFhem
also "test -w /dev/ttyACM0 && echo success || echo failure" ergibt
success
und "udevadm info -a -n /dev/ttyACM0" ergibt
root@raspberrypi-4:~# udevadm info -a -n /dev/ttyACM0
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0 /0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/tty/ttyACM0':
KERNEL=="ttyACM0"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000: 00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0':
KERNELS=="1-1.4:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="cdc_acm"
ATTRS{bmCapabilities}=="2"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bInterfaceNumber}=="00"
ATTRS{authorized}=="1"
ATTRS{bInterfaceSubClass}=="02"
ATTRS{bNumEndpoints}=="01"
ATTRS{bInterfaceClass}=="02"
ATTRS{supports_autosuspend}=="1"
looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000: 00:00.0/0000:01:00.0/usb1/1-1/1-1.4':
KERNELS=="1-1.4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{devpath}=="1.4"
ATTRS{authorized}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{configuration}==""
ATTRS{idProduct}=="16a8"
ATTRS{manufacturer}=="Texas Instruments"
ATTRS{rx_lanes}=="1"
ATTRS{bcdDevice}=="0009"
ATTRS{idVendor}=="0451"
ATTRS{busnum}=="1"
ATTRS{tx_lanes}=="1"
ATTRS{removable}=="unknown"
ATTRS{serial}=="__0X00124B0014D98CBD"
ATTRS{maxchild}=="0"
ATTRS{speed}=="12"
ATTRS{version}==" 2.00"
ATTRS{bNumInterfaces}==" 2"
ATTRS{urbnum}=="1908"
ATTRS{quirks}=="0x0"
ATTRS{devspec}==" (null)"
ATTRS{bDeviceProtocol}=="00"
ATTRS{devnum}=="7"
ATTRS{bMaxPacketSize0}=="32"
ATTRS{product}=="TI CC2531 USB CDC"
ATTRS{bMaxPower}=="50mA"
ATTRS{bDeviceClass}=="02"
ATTRS{bmAttributes}=="80"
ATTRS{bNumConfigurations}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000: 00:00.0/0000:01:00.0/usb1/1-1':
KERNELS=="1-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{bDeviceSubClass}=="00"
ATTRS{idVendor}=="2109"
ATTRS{product}=="USB2.0 Hub"
ATTRS{tx_lanes}=="1"
ATTRS{bConfigurationValue}=="1"
ATTRS{removable}=="unknown"
ATTRS{devnum}=="2"
ATTRS{bNumConfigurations}=="1"
ATTRS{devspec}==" (null)"
ATTRS{rx_lanes}=="1"
ATTRS{bcdDevice}=="0420"
ATTRS{maxchild}=="4"
ATTRS{authorized}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{urbnum}=="98"
ATTRS{bmAttributes}=="e0"
ATTRS{bDeviceClass}=="09"
ATTRS{busnum}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{idProduct}=="3431"
ATTRS{bMaxPower}=="100mA"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{configuration}==""
ATTRS{devpath}=="1"
ATTRS{version}==" 2.10"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{speed}=="480"
ATTRS{quirks}=="0x0"
ATTRS{bDeviceProtocol}=="01"
looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000: 00:00.0/0000:01:00.0/usb1':
KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{manufacturer}=="Linux 4.19.75-v7l+ xhci-hcd"
ATTRS{configuration}==""
ATTRS{authorized_default}=="1"
ATTRS{tx_lanes}=="1"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{speed}=="480"
ATTRS{product}=="xHCI Host Controller"
ATTRS{busnum}=="1"
ATTRS{urbnum}=="22"
ATTRS{maxchild}=="1"
ATTRS{rx_lanes}=="1"
ATTRS{interface_authorized_default}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{devspec}==" (null)"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bcdDevice}=="0419"
ATTRS{idProduct}=="0002"
ATTRS{bDeviceSubClass}=="00"
ATTRS{serial}=="0000:01:00.0"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPower}=="0mA"
ATTRS{bmAttributes}=="e0"
ATTRS{ltm_capable}=="no"
ATTRS{bDeviceProtocol}=="01"
ATTRS{version}==" 2.00"
ATTRS{authorized}=="1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{idVendor}=="1d6b"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{devpath}=="0"
ATTRS{devnum}=="1"
looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000: 00:00.0/0000:01:00.0':
KERNELS=="0000:01:00.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{current_link_speed}=="5 GT/s"
ATTRS{vendor}=="0x1106"
ATTRS{subsystem_device}=="0x3483"
ATTRS{local_cpus}=="f"
ATTRS{devspec}==""
ATTRS{device}=="0x3483"
ATTRS{current_link_width}=="1"
ATTRS{msi_bus}=="1"
ATTRS{ari_enabled}=="0"
ATTRS{enable}=="1"
ATTRS{irq}=="56"
ATTRS{subsystem_vendor}=="0x1106"
ATTRS{max_link_speed}=="5 GT/s"
ATTRS{driver_override}=="(null)"
ATTRS{max_link_width}=="1"
ATTRS{broken_parity_status}=="0"
ATTRS{dma_mask_bits}=="64"
ATTRS{class}=="0x0c0330"
ATTRS{local_cpulist}=="0-3"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{revision}=="0x01"
looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00/0000: 00:00.0':
KERNELS=="0000:00:00.0"
SUBSYSTEMS=="pci"
DRIVERS=="pcieport"
ATTRS{max_link_width}=="1"
ATTRS{local_cpus}=="f"
ATTRS{subsystem_device}=="0x0000"
ATTRS{subsystem_vendor}=="0x0000"
ATTRS{enable}=="1"
ATTRS{ari_enabled}=="0"
ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{device}=="0x2711"
ATTRS{msi_bus}=="1"
ATTRS{irq}=="55"
ATTRS{broken_parity_status}=="0"
ATTRS{aer_rootport_total_err_nonfatal}=="0"
ATTRS{devspec}==""
ATTRS{secondary_bus_number}=="1"
ATTRS{dma_mask_bits}=="32"
ATTRS{class}=="0x060400"
ATTRS{max_link_speed}=="5 GT/s"
ATTRS{driver_override}=="(null)"
ATTRS{local_cpulist}=="0-3"
ATTRS{subordinate_bus_number}=="1"
ATTRS{aer_rootport_total_err_fatal}=="0"
ATTRS{current_link_width}=="1"
ATTRS{current_link_speed}=="5 GT/s"
ATTRS{revision}=="0x10"
ATTRS{vendor}=="0x14e4"
ATTRS{aer_rootport_total_err_cor}=="0"
looking at parent device '/devices/platform/scb/fd500000.pcie/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/platform/scb/fd500000.pcie':
KERNELS=="fd500000.pcie"
SUBSYSTEMS=="platform"
DRIVERS=="brcm-pcie"
ATTRS{dmabounce_stats}=="m:0/0 s:0/0 f:0 s:0 b:0/0 a:0/0"
ATTRS{driver_override}=="(null)"
looking at parent device '/devices/platform/scb':
KERNELS=="scb"
SUBSYSTEMS=="platform"
DRIVERS==""
ATTRS{driver_override}=="(null)"
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
ZitatWhen you plug the CC2531 in your computer, the green LED should go on. By pressing the reset button on the CC2531 the green LED should go off. The CC2531 has 2 buttons on it, the reset button is the one which is closest to the USB port. Now try starting Zigbee2MQTT again.
Habe ich auch gemacht brachte aber keine verbesserung und die LED bleibt aus.
Ich versuche heute abend noch mal die Instalation durch zu gehen.
MfG Caleus
Hallo @OdfFhem
ich habe nun mal Zigbee2Mqtt gelöscht und von neu Angefangen.
sudo curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
ergibt:
root@raspberrypi-4:~# sudo curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
## Installing the NodeSource Node.js 12.x repo...
## Populating apt-get cache...
+ apt-get update
Holen:1 http://archive.raspberrypi.org/debian buster InRelease [32,6 kB]
Holen:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB]
Holen:3 https://apt.pilight.org stable InRelease [5.415 B]
Ign:4 https://deb.nodesource.com buster InRelease
Holen:5 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13, 0 MB]
Holen:6 http://archive.raspberrypi.org/debian buster/main armhf Packages [335 kB ]
Fehl:7 https://deb.nodesource.com buster Release
404 Not Found [IP: 2a02:26f0:e600::687c:b2b 443]
Paketlisten werden gelesen... Fertig
E: Das Depot »https://deb.nodesource.com buster Release« enthält keine Release-D atei.
N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art dur chgeführt werden, daher ist es standardmäßig deaktiviert.
N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfigur ation finden Sie in der Handbuchseite apt-secure(8).
Error executing command, exiting
dann weiter zu nodejs
apt-get install -y nodejs git make g++ gcc
ergebniss:
root@raspberrypi-4:~# apt-get install -y nodejs git make g++ gcc
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
g++ ist schon die neueste Version (4:8.3.0-1+rpi2).
gcc ist schon die neueste Version (4:8.3.0-1+rpi2).
git ist schon die neueste Version (1:2.20.1-2+deb10u3).
make ist schon die neueste Version (4.2.1-1.2).
nodejs ist schon die neueste Version (12.19.0-1nodesource1).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 158 nicht aktualisiert.
die VErsionsabfrage für node und npm:
root@raspberrypi-4:~# node --version
v12.19.0
root@raspberrypi-4:~# npm --version
6.14.8
git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
root@raspberrypi-4:~# git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
Klone nach '/opt/zigbee2mqtt' ...
remote: Enumerating objects: 71, done.
remote: Counting objects: 100% (71/71), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 13871 (delta 45), reused 24 (delta 15), pack-reused 13800
Empfange Objekte: 100% (13871/13871), 19.67 MiB | 6.89 MiB/s, Fertig.
Löse Unterschiede auf: 100% (10312/10312), Fertig.
root@raspberrypi-4:~# chown -R root:root /opt/zigbee2mqtt
auch ohne fehler
npm ci ergibt folgendes ergebniss:
root@raspberrypi-4:/opt/zigbee2mqtt# npm ci
> @serialport/bindings@9.0.2 install /opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
prebuild-install WARN install No prebuilt binaries found (target=12.19.0 runtime=node arch=arm libc= platform=linux)
make: Verzeichnis ,,/opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build" wird betreten
CXX(target) Release/obj.target/bindings/src/serialport.o
../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)':
../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 'Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)':
../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 '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 '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 'Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)':
../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 '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 '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 '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: 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)) {
^
In file included from ../../../nan/nan.h:56,
from ../src/./serialport.h:6,
from ../src/serialport.cpp:1:
/root/.cache/node-gyp/12.19.0/include/node/node.h:727:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local<v8::Object>)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
(node::addon_register_func) (regfunc), \
^
/root/.cache/node-gyp/12.19.0/include/node/node.h:761:3: note: in expansion of macro 'NODE_MODULE_X'
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/serialport.cpp:483:1: note: in expansion of macro 'NODE_MODULE'
NODE_MODULE(serialport, init);
^~~~~~~~~~~
CXX(target) Release/obj.target/bindings/src/serialport_unix.o
../src/serialport_unix.cpp: In function 'int setup(int, OpenBaton*)':
../src/serialport_unix.cpp:176:60: warning: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=]
snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
^~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp:176:13: note: 'snprintf' output 20 or more bytes (assuming 1043) into a destination of size 1024
snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp: In function 'void EIO_Open(uv_work_t*)':
../src/serialport_unix.cpp:86:60: warning: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=]
snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/serialport_unix.cpp:86:13: note: 'snprintf' output 22 or more bytes (assuming 1045) into a destination of size 1024
snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CXX(target) Release/obj.target/bindings/src/poller.o
CXX(target) Release/obj.target/bindings/src/serialport_linux.o
SOLINK_MODULE(target) Release/obj.target/bindings.node
COPY Release/bindings.node
make: Verzeichnis ,,/opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build" wird verlassen
> serialport@9.0.2 postinstall /opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/serialport
> node thank-you.js
Thank you for using serialport!
If you rely on this package, please consider supporting our open collective:
> https://opencollective.com/serialport/donate
> unix-dgram@2.0.3 install /opt/zigbee2mqtt/node_modules/unix-dgram
> node-gyp rebuild
make: Verzeichnis ,,/opt/zigbee2mqtt/node_modules/unix-dgram/build" wird betreten
CXX(target) Release/obj.target/unix_dgram/src/unix_dgram.o
In file included from ../../nan/nan.h:56,
from ../src/unix_dgram.cc:5:
/root/.cache/node-gyp/12.19.0/include/node/node.h:727:43: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
(node::addon_register_func) (regfunc), \
^
/root/.cache/node-gyp/12.19.0/include/node/node.h:761:3: note: in expansion of macro 'NODE_MODULE_X'
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE'
NODE_MODULE(unix_dgram, Initialize)
^~~~~~~~~~~
SOLINK_MODULE(target) Release/obj.target/unix_dgram.node
COPY Release/unix_dgram.node
make: Verzeichnis ,,/opt/zigbee2mqtt/node_modules/unix-dgram/build" wird verlassen
added 833 packages in 96.373s
und das finish sieht so aus:
root@raspberrypi-4:/opt/zigbee2mqtt# npm start
> zigbee2mqtt@1.16.1 start /opt/zigbee2mqtt
> node index.js
Zigbee2MQTT:info 2020-11-10 06:12:03: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2020-11-10.06-12-02' filename: log.txt
Zigbee2MQTT:info 2020-11-10 06:12:03: Starting Zigbee2MQTT version 1.16.1 (commit #6b32f30)
Zigbee2MQTT:info 2020-11-10 06:12:03: Starting zigbee-herdsman...
Zigbee2MQTT:error 2020-11-10 06:12:04: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2020-11-10 06:12:04: Failed to start zigbee
Zigbee2MQTT:error 2020-11-10 06:12:04: Exiting...
Zigbee2MQTT:error 2020-11-10 06:12:04: Error: Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port'
at Znp.<anonymous> (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32)
at Generator.next (<anonymous>)
at /opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71
at new Promise (<anonymous>)
at __awaiter (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12)
at SerialPort.<anonymous> (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49)
at SerialPort._error (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
at /opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.16.1 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.16.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-11-10T05_12_04_614Z-debug.log
hmm irgendwas ist noch drauf.
MfG Caleus
@Caleus
Das scheint ja ein "größeres" Problem zu sein - schade eigentlich.
Bleiben bei mir noch ein paar Fragen, dann hört es aber langsam mit den Lösungsvorschlägen auf:
Hast Du die vorgeschlagene sudo-Variante probiert ?
Leuchtet beim Einstecken des Sticks zunächst die (grüne) LED ?
Ist Dein initialUsbCheck-FHEM-Device deaktiviert ? ("attr initialUsbCheck disable 1")
Angenommen, FHEM läuft auf demselben Rechner, tritt das Problem bei runtergefahrenem FHEM auch auf ?
Ist der Stick vielleicht defekt bzw. nicht mit der richtigen Version geflasht ?
@OdfFhem
ich habe nun deine vorschläge bis auf den letzten Punkt versucht leider immer das gleiche.
Ich habe mal ein Screenshot angehängt. Ich denke ich werde den Stick wieder zurück schicken wenn sonst keiner mehr eine Idee oder Lösung hat da ich weder die benötigte Materialien noch das wissen zum Flashen habe und werden mirr dann wohl den von Dresdner Elektronik holen.
Dir OdfFhem danke schon mal bis jetzt.
hier mal der Inhalt aus der log Datei
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using npm@6.14.8
3 info using node@v12.19.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle zigbee2mqtt@1.16.1~prestart: zigbee2mqtt@1.16.1
6 info lifecycle zigbee2mqtt@1.16.1~start: zigbee2mqtt@1.16.1
7 verbose lifecycle zigbee2mqtt@1.16.1~start: unsafe-perm in lifecycle true
8 verbose lifecycle zigbee2mqtt@1.16.1~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/opt/zigbee2mqtt/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9 verbose lifecycle zigbee2mqtt@1.16.1~start: CWD: /opt/zigbee2mqtt
10 silly lifecycle zigbee2mqtt@1.16.1~start: Args: [ '-c', 'node index.js' ]
11 silly lifecycle zigbee2mqtt@1.16.1~start: Returned: code: 1 signal: null
12 info lifecycle zigbee2mqtt@1.16.1~start: Failed to exec start script
13 verbose stack Error: zigbee2mqtt@1.16.1 start: `node index.js`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:314:20)
13 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:314:20)
13 verbose stack at maybeClose (internal/child_process.js:1021:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid zigbee2mqtt@1.16.1
15 verbose cwd /opt/zigbee2mqtt
16 verbose Linux 4.19.75-v7l+
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
18 verbose node v12.19.0
19 verbose npm v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error zigbee2mqtt@1.16.1 start: `node index.js`
22 error Exit status 1
23 error Failed at the zigbee2mqtt@1.16.1 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
MfG Caleus
Was kommt denn bei einem
ls -l /dev/serial/by-id
raus?
Sieht bei mir z.B. so aus:
lrwxrwxrwx 1 root root 13 Nov 4 18:29 usb-Silicon_Labs_slae.sh_cc2652rb_stick_-_slaesh_s_iot_stuff_00_12_4B_00_21_CC_0A_D1-if00-port0 -> ../../ttyUSB0
Dementsprechend ist mein Device Port eben NICHT /dev/ttyACM0 sondern /dev/ttyUSB0...
@capu
root@raspberrypi-4:~# ls -l /dev/serial/by-id
insgesamt 0
lrwxrwxrwx 1 root root 13 Nov 9 06:46 usb-FTDI_FT232R_USB_UART_001HFKFO-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Nov 13 16:05 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0014D98CBD-if00 -> ../../ttyACM0
root@raspberrypi-4:~#
@all
ich habe heute mal zigbee2mqtt gelöscht und neu Instaliert und bekomme nun folgendes angezeigt
Zigbee2MQTT:info 2020-11-14 08:37:24: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2020-11-14.08-37-23' filename: log.txt
Zigbee2MQTT:info 2020-11-14 08:37:24: Starting Zigbee2MQTT version 1.16.1 (commit #6b32f30)
Zigbee2MQTT:info 2020-11-14 08:37:24: Starting zigbee-herdsman...
Zigbee2MQTT:info 2020-11-14 08:37:26: zigbee-herdsman started
Zigbee2MQTT:info 2020-11-14 08:37:26: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20190608,"transportrev":2},"type":"zStack12"}'
Zigbee2MQTT:info 2020-11-14 08:37:26: Currently 0 devices are joined:
Zigbee2MQTT:warn 2020-11-14 08:37:26: `permit_join` set to `true` in configuration.yaml.
Zigbee2MQTT:warn 2020-11-14 08:37:26: Allowing new devices to join.
Zigbee2MQTT:warn 2020-11-14 08:37:26: Set `permit_join` to `false` once you joined all devices.
Zigbee2MQTT:info 2020-11-14 08:37:26: Zigbee: allowing new devices to join.
Zigbee2MQTT:info 2020-11-14 08:37:26: Connecting to MQTT server at mqtt://localhost
Zigbee2MQTT:error 2020-11-14 08:37:36: Not connected to MQTT server!
Zigbee2MQTT:error 2020-11-14 08:37:46: Not connected to MQTT server!
Zigbee2MQTT:error 2020-11-14 08:37:56: Not connected to MQTT server!
Zigbee2MQTT:error 2020-11-14 08:38:06: Not connected to MQTT server!
Zigbee2MQTT:error 2020-11-14 08:38:16: Not connected to MQTT server!
Zigbee2MQTT:error 2020-11-14 08:38:26: Not connected to MQTT server!
^CZigbee2MQTT:error 2020-11-14 08:38:28: Not connected to MQTT server!
Zigbee2MQTT:error 2020-11-14 08:38:28: Cannot send message: topic: 'zigbee2mqtt/bridge/state', payload: 'offline
Zigbee2MQTT:info 2020-11-14 08:38:28: Disconnecting from MQTT server
Zigbee2MQTT:info 2020-11-14 08:38:28: zigbee-herdsman stopped
Ich habe das jetzt schon das 2 mal gemacht Deinstalliert und neu Installiert aber beim ersten mal hatte ich weil er immer sagt
Zigbee2MQTT:error 2020-11-14 08:38:26: Not connected to MQTT server!
Ein Neustart vom Raspberri gemacht und plötzlich kam wieder mein Problem mit dem Port habe dann gesehen das Mosquito noch drauf ist und habe es gelöscht und wieder von vorne aber auch jetzt sagt er mir
Zigbee2MQTT:error 2020-11-14 08:38:26: Not connected to MQTT server!
Ich weiß nicht genau aber kann es seien das er meine configuration.yaml nicht lädt? Er zeigt ja
Zigbee2MQTT:info 2020-11-14 08:37:26: Connecting to MQTT server at mqtt://localhost
Ich hatte es aber mit mqtt://localhost:1883 und fester IP versucht es wurde da nicht nur nicht gezeigt
MfG Caleus
@Caleus
Der Stick scheint ja dann doch zu funktionieren; weisst Du woran es bislang scheiterte ?
Hast Du Deine configuration.yaml im richtigen Verzeichnis bereitgestellt - ansonsten nutzt zigbee2mqtt die ausgelieferte Fassung?
Sind übrigens die evtl. benötigten Werte zu user bzw. password enthalten?
Welche Art von MQTT-Server nutzt Du? (MQTT2_SERVER, mosquitto ja scheinbar nicht, ...)
Mit mosquitto_sub (unabhängig vom mosquitto-Server-Paket) kannst Du die Verbindung zu irgendeinem MQTT-Server aufbauen und den erfolgreichen Connect testen.
@OdfFhem
ja funktioniert ;D
wenn ich via Putty zigbee2mqtt starte (Mosquitto vorrausgesetzt) dann zeigt er mir bei meinen TRADFRI remote control alle Tasten an nun ist meine frage aber wie bekomme ich es nun in Fhem integriert habe mir das WIKI
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Einf.C3.BChrung:_MQTT_bzw._MQTT2_in_FHEM (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Einf.C3.BChrung:_MQTT_bzw._MQTT2_in_FHEM)
durch gelesen aber beim versuch define MQTT2_FHEM_Server MQTT2_SERVER 1883 global bekomme ich als meldung MQTT2_FHEM_Server: Can't open server port at 1883: Address already in use .
Wie genau soll ich nun vorgehen?
Ich dachte ich wäre fit genug das selbst zu schaffen scheinbar aber wohl doch nicht.
Hallo,
so wie es aussieht läuft auf deinem System Mosquitto als MQTT Broker und nutzt dafür den Port 1883, den dann der Mqtt2Server (auch ein Broker) nicht mehr nutzen kann. Du kannt die Defintion für den Mqtt2 Server auf einen andere Port (z.Bsp.:1884) legen also define MQTT2_FHEM_Server MQTT2_SERVER 1884 global
Dann musst du aber in der jeweiigen Gerätedefintion den Port passend zum Broker , mit dem sich das Gerät unterhalten soll, angeben. Z.Bsp bei Zigbee2mqtt mqtt://localhost:1884
für den Mqtt2 Server. Das ist für den Fall empfehlenswert, wenn du nicht viel Ahnung von MQTT hast, da der in FHEM integrierte MQTT2Server dir dann per autocreate eine Menge Arbeit abnimmt.Wenn du bei Mosquitto als alleinigem Broker bleiben willst (eigentlich im Kontext Zigbee2mqtt und FHEM nicht zu empfehlen) dann musst du mit Mqtt2Client arbeiten, welchen du dann auf den Port deines Mosquitto Brokers lauschen lassen musst(hier:1883) Hierbei ist aber auch mehr Handarbeit angesagt als beim Mqtt2Server.
Ich hoffe ich habe dich nicht noch mehr verwirrt, sondern etwas für Klarheit in dem Kontext MQTT, Mosquitto und Mqtt2Server gebracht.
Ansonsten toi toi toi, das du es so ans laufen bekommst
Gruß Thomas
@all
Ich habe mich meiner noch mal angenommen und mein Raspberry durchsucht und zum einen eine zigbee2mqtt.service versteckt die immer wieder den Port blockierte und zum zweiten habe ich in meiner configuration.yaml zum ende hin einen Fehler.
Ich habe es nun endlich geschaft, ich danke euch allen für eure Hilfe.
Mfg Caleus
@Caleus:
War denn bei dir der zigbee2mqtt.service und dein Fehler in der configuration.yaml das Problem, war um du mittels
define MQTT2_FHEM_Server MQTT2_SERVER 1883 global
einen Fehler bekommen hast oder war dann der Post von TL60 der entscheidende Hinweis, den Server zu ändern?!
Ich stehe nämlich am gleichen Problem.
Grüße
dafosy
Also auch ich hatte den Mosquitto-Service vorher installiert und nun mittels
sudo systemctl disable mosquitto.service
deaktiviert. Allerdings taucht das in zigbee2mqtt gefundene Gerät noch nicht auf. Ich bleibe dran.