[Neues Modul] Xiaomi Smart Home ohne Gateway direkt an FHEM

Begonnen von neumann, 22 Februar 2018, 18:00:22

Vorheriges Thema - Nächstes Thema

Beta-User

OK, sieht nach einem Konflikt aus, da du offensichtlich die yaml im USB-Teil nicht angepaßt hast ;) .

Nimm also die "Alternative" aus Punkt 1 der Anleitung in https://koenkk.github.io/zigbee2mqtt/getting_started/running_zigbee2mqtt.html und pack das in die yaml.

Und mach' dasselbe mit by-id mit dem CUL unter FHEM ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Kusselin

Hi,

Sei doch bitte so nett und sag mir was du mit Alternative meinst..der Link ist die Anleitung die ich durgearbeitet habe..

Meinst du das als alternative?
As an alternative, the device can also be mapped by an ID. This can be handy if you have multiple serial devices connected to your Raspberry Pi. In the example below the device location is: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00

pi@raspberry:/ $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx. 1 root root 13 Oct 19 19:26 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00 -> ../../ttyACM0


Und was meinst du mit pack das in die yaml datei??

Schau..ich denke mal du willst es nicht vorkauen damit ich auch selber bissl überlegen muss..ist verständlich aber so komme ich leider nicht weiter :-(

Gruss

Und wo ist der Pfad in der yaml Datei?? Wo steht das in der Anleitung??

Papaloewe

#737
Schau mal hier:
https://koenkk.github.io/zigbee2mqtt/configuration/configuration.html
Der Pfad zu dem USB-Device ist gemeint.
# Required: serial settings
serial:
  # Required: location of CC2531 USB sniffer
  port: /dev/tty.usbmodem1411

Der Pfad kann auf verschieden Arten angegeben werden.
Bei dir sollte das dann sein:
port: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF

Fällt jetzt der Groschen?  :)

Beta-User

Danke an Papaloewe für die Langform :) . Hätte nicht vermutet, dass die verlinkte Anleitung noch Fragen offen läßt ::) .

Und nochmal: Schau dir auch die DEF von deinem CUL an! Das sollte dringend auch "by-id" sein!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Kusselin

#739
Zitat von: Papaloewe am 26 Januar 2019, 16:32:16
Schau mal hier:
https://koenkk.github.io/zigbee2mqtt/configuration/configuration.html
Der Pfad zu dem USD-Device ist gemeint.
# Required: serial settings
serial:
  # Required: location of CC2531 USB sniffer
  port: /dev/tty.usbmodem1411

Der Pfad kann auf verschieden Arten angegeben werden.
Bei dir sollte das dann sein:
port: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF

Fällt jetzt der Groschen?  :)

So siehts doch schon viel besser aus..danke Dir!! Ich weiss das man hier nicht gleich mit dervTüre ins Haus föllt..aber ich habe den pfad (und ich muss das natürlich da auch reinkopieren was mir die Konsole mit dev/serial/by-id ausgibt) nicht in der yaml datei geändert..

Danke

Kusselin

#740
Zitat von: Beta-User am 26 Januar 2019, 16:44:20
Danke an Papaloewe für die Langform :) . Hätte nicht vermutet, dass die verlinkte Anleitung noch Fragen offen läßt ::) .

Und nochmal: Schau dir auch die DEF von deinem CUL an! Das sollte dringend auch "by-id" sein!

Sorry..nicht böse gemeint aber das ist typisch fhem ;D

Das man das nicht gleich so wie papaloewe schreiben kann??

Für Dich beta user für dich ist alles hier was fhem betrifft einfach und du darfst aber nicht immer voraussetzen das es Für andere user hier auch so ist..
Gruss

Und so sieht die dev vom cul aus..das Weiss ich

dev/serial/by-id/usb-busware.de_CUL433-if00@38400 1234

über deinen Link kann/konnte ich auch nicht den Eintrag finden...

Jetzt schauts so aus
pi@raspberrypi:/opt/zigbee2mqtt $ npm start

> zigbee2mqtt@1.0.1 start /opt/zigbee2mqtt
> node index.js

  zigbee2mqtt:info 2019-1-26 16:23:00 Logging to directory: '/opt/zigbee2mqtt/da                ta/log/2019-01-26.16-23-00'
  zigbee2mqtt:info 2019-1-26 16:23:02 Starting zigbee2mqtt version 1.0.1 (commit                 #43fc66c)
  zigbee2mqtt:info 2019-1-26 16:23:02 Starting zigbee-shepherd
  zigbee2mqtt:info 2019-1-26 16:23:03 zigbee-shepherd started
  zigbee2mqtt:info 2019-1-26 16:23:03 Coordinator firmware version: '20181024'
  zigbee2mqtt:info 2019-1-26 16:23:03 Currently 0 devices are joined:
  zigbee2mqtt:warn 2019-1-26 16:23:03 `permit_join` set to  `true` in configurat                ion.yaml.
  zigbee2mqtt:warn 2019-1-26 16:23:03 Allowing new devices to join.
  zigbee2mqtt:warn 2019-1-26 16:23:03 Set `permit_join` to `false` once you join                ed all devices.
  zigbee2mqtt:info 2019-1-26 16:23:03 Zigbee: allowing new devices to join.
  zigbee2mqtt:info 2019-1-26 16:23:03 Connecting to MQTT server at mqtt://localh                ost
  zigbee2mqtt:info 2019-1-26 16:23:04 zigbee-shepherd ready
  zigbee2mqtt:info 2019-1-26 16:23:04 Connected to MQTT server
  zigbee2mqtt:info 2019-1-26 16:23:04 MQTT publish: topic 'zigbee2mqtt/bridge/st                ate', payload 'online'


Kusselin

ne Frage gabe ich noch..

kann  ich das Xaomi Modul mit iobroker zusammen laufen lassen?

weiss das jemand?

Gruss

Papaloewe

Ja, wenn du mit "Xiaomi Modul" den "zigbee2mqtt" Deamon meinst.

Kusselin

#743
gehört jetzt vielleicht nicht ganz daher, aber wenn wir schon dabei sind....

o.k. weil seit ich das Xaiomi Modul installiert habe und im der yaml Datei den Pfad angegeben habe:
/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E32C4C-if00

habe ich in Iobroker folgende Meldung im Log:
host.raspberrypi 2019-01-26 17:44:16.288 error instance system.adapter.zigbee.0 terminated with code 1 ()
host.raspberrypi 2019-01-26 17:44:16.288 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
host.raspberrypi 2019-01-26 17:44:16.288 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:689:30)
host.raspberrypi 2019-01-26 17:44:16.288 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36)
host.raspberrypi 2019-01-26 17:44:16.288 error Caught by controller[0]: at bindings (/opt/iobroker/node_modules/bindings/bindings.js:81:44)
host.raspberrypi 2019-01-26 17:44:16.288 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:22:18)
host.raspberrypi 2019-01-26 17:44:16.288 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:637:17)
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:530:3)
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:599:32)
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`).
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: NODE_MODULE_VERSION 57. This version of Node.js requires
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: was compiled against a different Node.js version using
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/serialport/build/Release/serialport.node'
host.raspberrypi 2019-01-26 17:44:16.287 error Caught by controller[0]: ^
host.raspberrypi 2019-01-26 17:44:16.286 error Caught by controller[0]: throw e
host.raspberrypi 2019-01-26 17:44:16.286 error Caught by controller[0]: /opt/iobroker/node_modules/bindings/bindings.js:88

Nach oben


und in iobroker gebe ich ja unter einstellungen auch den pfad an:
/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E32C4C-if00

ich hatte da schon den cube eingebunden und ein fensterkontakt...beides jetzt weg.

Irgendwas mit Nodjs muss ich mir da bei der fhem einbindung zerschossen haben..oder?

ich lese
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing und NODE_MODULE_VERSION 57. This version of Node.js requires

aber wie komme ich da wieder hin....?

Gruss


Das kommt bei den Ausgaben:

pi@raspberrypi:~ $ node -v
v10.15.0
pi@raspberrypi:~ $ ^C
pi@raspberrypi:~ $ nodejs -v
v10.15.0
pi@raspberrypi:~ $ ^C
pi@raspberrypi:~ $ npm -v
6.4.1


passt das nicht?

Kusselin

#744
komisch..bin jetzt auf auf diese Versionen zurück und iobroker Zigbee läuft wieder..
pi@raspberrypi:~ $ node -v
v8.15.0

und
pi@raspberrypi:~ $ nodejs -v
v8.15.0

und
pi@raspberrypi:~ $ npm -v
6.4.1


anscheinend mag iobroker die versionen 10.15.0 nicht....??

wenn ich jetzt aber wieder auf der Konsole das hier eingebe:
cd /opt/zigbee2mqtt
npm start


bekomme ich diese Meldung..:
pi@raspberrypi:~ $ cd /opt/zigbee2mqtt
pi@raspberrypi:/opt/zigbee2mqtt $ npm start

> zigbee2mqtt@1.0.1 start /opt/zigbee2mqtt
> node index.js

  zigbee2mqtt:info 2019-1-26 19:23:49 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-01-26.19-23-49'
/opt/zigbee2mqtt/node_modules/bindings/bindings.js:88
        throw e
        ^

Error: The module '/opt/zigbee2mqtt/node_modules/serialport/build/Release/serialport.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (module.js:682:18)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at bindings (/opt/zigbee2mqtt/node_modules/bindings/bindings.js:81:44)
    at Object.<anonymous> (/opt/zigbee2mqtt/node_modules/serialport/lib/bindings/linux.js:2:36)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.0.1 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.0.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!     /home/pi/.npm/_logs/2019-01-26T19_23_50_612Z-debug.log


hier die yaml. Datei:
# Home Assistant integration (MQTT discovery)
homeassistant: false

# allow new devices to join
permit_join: true

# MQTT settings
mqtt:
  # MQTT base topic for zigbee2mqtt MQTT messages
  base_topic: zigbee2mqtt
  # MQTT server URL
  server: 'mqtt://localhost'
  # MQTT server authentication, uncomment if required:
  # user: my_user
  # password: my_password

# Serial settings
serial:
  # Location of CC2531 USB sniffer
port: /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E32C4C-if00



das Problem ist aber ..fhem benötigt lt der Anleitung node 10.xxx und iobroker läuft aber mit der 10er nicht.....

Papaloewe

Ich bin bei meiner Antwort davon ausgegangen, dass du im IOBroker einen MQTT-Adapter benutzt und nicht einen der direkt auf den Stick zugreift.
Das gibt wahrscheinlich Probleme und damit ist meine obige Antwort falsch!

Kusselin

mmhh ich habe jetzt den Zigbee adapter installiert habe aber auch den Mqtt installiert.....aber mqtt da bin ich noch nicht soweit... :-\

dann würde ich über fhem direkt ber dev/serial zugreifen und mit iobroker dann nicht über den zigbee adapter sondern über mqtt richtig??

Gruss

Papaloewe

Bitte sei mir nicht böse, aber du bist wirklich noch nicht soweit.  ;)
Sowohl FHEM als auch IOBroker können gleichzeitig die Daten über MQTT empfangen und entsprechende Befehle senden.
Dafür braucht es aber noch zus. einen sog. MQTT-Broker (Server).

Die Kette ist dann:
USB-Stick <-> zigbee2mqtt <-> MQTT-Broker <-> FHEM/IOBroker

Lies dich bitte in das Thema ein.
Das kann man nicht alles hier einzeln beschreiben, denn das haben andere schon viel besser getan.

Viel Erfolg.

Kusselin

Hi, ich bins nochmal..kannst du mir noch sagen was das für Fehlermeldungen jetzt sind:
pi@raspberrypi:/opt/zigbee2mqtt $ npm start

> zigbee2mqtt@1.0.1 start /opt/zigbee2mqtt
> node index.js

  zigbee2mqtt:info 2019-1-26 23:19:21 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-01-26.23-19-21'
/opt/zigbee2mqtt/node_modules/bindings/bindings.js:88
        throw e
        ^

Error: The module '/opt/zigbee2mqtt/node_modules/serialport/build/Release/serialport.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (module.js:682:18)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at bindings (/opt/zigbee2mqtt/node_modules/bindings/bindings.js:81:44)
    at Object.<anonymous> (/opt/zigbee2mqtt/node_modules/serialport/lib/bindings/linux.js:2:36)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.0.1 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.0.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!     /home/pi/.npm/_logs/2019-01-26T23_19_22_389Z-debug.log


Danke und Gruss

Papaloewe

Support für zigbee2mqtt bekommst du bei koenk, also hier.
https://github.com/Koenkk/zigbee2mqtt

Der spricht jedoch kein deutsch!