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

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

Vorheriges Thema - Nächstes Thema

HansDampfHH

Ich habe hier seit heute einen geflashten Stick liegen und wollte mich nun an die Einrichtung, Installation mit zigbee2mqtt machen.
Ich habe mein Fhem auf Debian Stretch, leider in i386. Und da ist per Debian nur nodejs 4.8.2 möglich, über die Backports max. 8.11.1.

Nun stehe ich ganz schön doof da. Soweit ich recherchiert habe, gibt es da keine Möglichkeit, außer natürlich das System auf amd64 zu stellen oder auf Debian 10 (Sommer) zu warten, das unterstützt dann nodejs 10.

Kann mir evtl. jemand einen hilfreichen Tipp geben?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

OdfFhem

@sprudelverduenner

Ist Dein Problem mittlerweile gelöst oder benötigst Du noch Hinweise?

sprudelverduenner

Vielen Dank.

Ich habe in der Zwischenzeit herausgefunden, dass ich im ziggbee device etwas ergänzen musste damit pro Gerät ein Device angelegt wird.
Seitdem läuft alles.
FHEM @ RaspberryPi 3, HMLAN, HMUART + HMRS485, Homematic, ESPEasy @ Sonoff / Shelly / ESP8266, ZigBee @ CC2531
Echo Dot, Dreambox, Yamaha MusicCast, Logitech Hub, LW-12, LD382
FRITZ!Box 7590 AX, Mesh @ FRITZ!Repeater 2400, FRITZ!Fon, iPhone 13, iPad Air 5, AppleWatch 8

bromosky

Nabend,

ich habe ein kleines Problem, zwar nicht wild, aber auf Dauer etwas nervig. Ich habe alle Geräte definiert, alles funktioniert wunderbar. Wenn ich nun den RPi neustarte, dementsprechend FHEM und Zigbee2MQTT auch, ist zum Beispiel der Aqara Cube offline. Sofern ich dann diesen benutze, wird ein neues Device angelegt, in dem alten werden keine Werte mehr aktualisiert. Gleiches gilt auch für die Tradfri-Lampe, welche jedoch noch die Kommandos, welche an das "alte" Device gesendet wird, akzeptiert, da es ja den gleiche "Gerätewert" besitzt. Aber auch hier, ein neues Device. Wenn ich es lösche, taucht es beim nächsten mal nicht wieder auf. Immer erst nach dem Neustart. Wo liegt hier höchstwahrscheinlich der Fehler?

Grüße, Max.

OdfFhem

@bromosky

Wie sieht denn Deine MQTT-Infrastruktur aus? (mosquitto , MQTT, MQTT2, ...)

Kannst Du mal ein list bzw. raw von einem alten und einem neuen Device für den Aqara Cube bereitstellen?

bromosky

Hallo,

Das läuft alles Danke MQTT2 durch FHEM.
List vom neuerstellten Cube:
   CFGFN     
   CID        mqttjs_a75161a4
   DEF        mqttjs_a75161a4
   DEVICETOPIC MQTT2_mqttjs_a75161a4
   FUUID      5cc6edf9-f33f-38d4-fc7e-2dd44846656cdb3c
   IODev      MQTT2_Server
   LASTInputDev MQTT2_Server
   MQTT2_Server_MSGCNT 1
   MQTT2_Server_TIME 2019-04-29 14:28:42
   MSGCNT     1
   NAME       MQTT2_mqttjs_a75161a4
   NR         1060
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-04-29 14:28:42   action          flip90
     2019-04-29 14:28:42   battery         99.00
     2019-04-29 14:28:42   from_side       5
     2019-04-29 14:28:42   linkquality     73
     2019-04-29 14:28:42   to_side         3
     2019-04-29 14:28:42   voltage         3025
Attributes:
   DbLogExclude .*
   IODev      MQTT2_Server
   readingList mqttjs_a75161a4:zigbee2mqtt/0x00158d00027bfdaa:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

Beim Aqara-Cube ist dann lediglich per rename der Name geändert wurden.

Und die List vom MQTT2Zigbee ist:
   CID        zigbee_pi
   DEF        zigbee_pi
   DEVICETOPIC MQTT2_zigbee_pi
   FUUID      5cc1a704-f33f-38d4-269c-24d2a08568fea3f1
   IODev      MQTT2_Server
   NAME       MQTT2_zigbee_pi
   NR         15
   STATE      permit_join
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-04-25 00:14:50   state           permit_join
Attributes:
   DbLogExclude .*
   IODev      MQTT2_Server
   bridgeRegexp xiaomi/0x([^:]*):.* "xiaomi_$1"
   room       92_MQTT
   setList    permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1
remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1
log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1
rename:textField zigbee2mqtt/bridge/config/rename  {"old":"$EVTPART1","new":"$EVTPART2"}
network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1
devicelist:noArg zigbee2mqtt/bridge/config/devices


Ich nehme mal an, dass eher dort der Fehler zu finden ist. Ich wäre sehr dankbar wenn ich das gelöst bekomme, da ich demnächst möglich viel auf Zigbee umstellen möchte.

Viele Grüße, Max :)

Beta-User

Hmm, das sieht mir nach einer etwas unglücklichen Kombination von (alter) bridgeRegexp-Version und Umbenennungen aus.

Soweit erkennbar, sendet zigbee2mqtt wieder unter dieser Kennung, die bridgeRegexp geht aber von "xiaomi" aus.

Da du nicht allzuviele Geräte hast, würde ich empfehlen, die Defaults auf der zigbee2mqtt-Seite zu belassen und das aktuelle attrTemplate für die Bridge (zigbee_pi) zu verwenden; da ist auch noch einiges mehr an Funktionaliät abgebildet.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

bromosky

Huhu,

danke für eure schnelle Hilfe. Ich habe einfach mal, wie im Wiki beschrieben, die Bridge durch das Atrribut Template von L_01_zigbee2mqtt_bridge ersetzt.
Zumindest schaut nun das von dir erwähnte bridgeRegexp deutlich besser aus.

Danach habe ich FHEM neugestartet, die von autocreate erstellten MQTT-Devices für Cube und Tradfri-Lampe den passenden Attribut Templates zugewiesen. Noch fix umbenannt. Und dann FHEM nochmals neugestartet um zu sehen, ob wirklich keine neuen Devices angelegt werden, sondern die alten noch funktionieren.

Siehe da, es funktioniert alles!
Ich danke euch. Ich hatte den Fehler dort schon vermutet, aber da ich in letzter Zeit ziemlich viel in FHEM rumgeirrt bin, wollte ich mich vorher schlau machen.
Wie gesagt, vielen lieben Dank!

Euch einen schönen Tag noch,
Max :)

Steffen

Guten Morgen,


Seit dem ich Gestern mein Server neu gestartet habe bekomme ich den Dienst nicht mehr zum laufen, bin noch mal alle Installation schritte durch
gegangen aber erst startet es danach Stopt es aber wieder:


root@happyfamilyserver:/opt/zigbee2mqtt# sudo systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
   Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-05-12 08:25:24 CEST; 878ms ago
Main PID: 25376 (npm)
   CGroup: /system.slice/zigbee2mqtt.service
           ├─25376 npm
           ├─25388 sh -c node index.js
           └─25389 node index.js

Mai 12 08:25:24 happyfamilyserver systemd[1]: Started zigbee2mqtt.
Mai 12 08:25:25 happyfamilyserver npm[25376]: > zigbee2mqtt@0.1.8 start /opt/zigbee2mqtt
Mai 12 08:25:25 happyfamilyserver npm[25376]: > node index.js





root@happyfamilyserver:/opt/zigbee2mqtt# sudo systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
   Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2019-05-12 08:21:03 CEST; 58s ago
  Process: 24671 ExecStart=/usr/bin/npm start (code=exited, status=1/FAILURE)
Main PID: 24671 (code=exited, status=1/FAILURE)

Mai 12 08:21:03 happyfamilyserver systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Mai 12 08:21:03 happyfamilyserver systemd[1]: zigbee2mqtt.service: Service hold-off time over, scheduling restart.
Mai 12 08:21:03 happyfamilyserver systemd[1]: Stopped zigbee2mqtt.
Mai 12 08:21:03 happyfamilyserver systemd[1]: zigbee2mqtt.service: Start request repeated too quickly.
Mai 12 08:21:03 happyfamilyserver systemd[1]: Failed to start zigbee2mqtt.
Mai 12 08:21:03 happyfamilyserver systemd[1]: zigbee2mqtt.service: Unit entered failed state.
Mai 12 08:21:03 happyfamilyserver systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
root@happyfamilyserver:/opt/zigbee2mqtt#


hat jemand vielleicht eine Idee wo ich da ansetzten könnte?

Mfg Steffen

Steffen

Hallo!

Ich glaube habe den Fehler "Zigbee2mqtt requires node version 10, you are running v11.13.0!" :

-- Unit zigbee2mqtt.service has finished starting up.
--
-- The start-up result is done.
Mai 13 06:18:53 happyfamilyserver npm[2888]: > zigbee2mqtt@1.3.1 start /opt/zigbee2mqtt
Mai 13 06:18:53 happyfamilyserver npm[2888]: > node index.js
Mai 13 06:18:54 happyfamilyserver npm[2888]:                 [color=red]Zigbee2mqtt requires node version 10, you are running v11.13.0![/color]
Mai 13 06:18:54 happyfamilyserver npm[2888]:   zigbee2mqtt:info 5/13/2019, 6:18:54 AM Logging to directory: '/opt/zigbee2mqtt/data/log/2019-05-13.06-18-54'
Mai 13 06:18:54 happyfamilyserver npm[2888]: /opt/zigbee2mqtt/node_modules/cc-znp/node_modules/bindings/bindings.js:121
Mai 13 06:18:54 happyfamilyserver npm[2888]:         throw e;
Mai 13 06:18:54 happyfamilyserver npm[2888]:         ^
Mai 13 06:18:54 happyfamilyserver npm[2888]: Error: The module '/opt/zigbee2mqtt/node_modules/cc-znp/node_modules/@serialport/bindings/build/Release/bindings.node'
Mai 13 06:18:54 happyfamilyserver npm[2888]: was compiled against a different Node.js version using
Mai 13 06:18:54 happyfamilyserver npm[2888]: NODE_MODULE_VERSION 64. This version of Node.js requires
Mai 13 06:18:54 happyfamilyserver npm[2888]: NODE_MODULE_VERSION 67. Please try re-compiling or re-installing
Mai 13 06:18:54 happyfamilyserver npm[2888]: the module (for instance, using `npm rebuild` or `npm install`).
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at Object.Module._extensions..node (internal/modules/cjs/loader.js:846:18)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at Module.load (internal/modules/cjs/loader.js:672:32)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at Function.Module._load (internal/modules/cjs/loader.js:604:3)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at Module.require (internal/modules/cjs/loader.js:711:19)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at require (internal/modules/cjs/helpers.js:14:16)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at bindings (/opt/zigbee2mqtt/node_modules/cc-znp/node_modules/bindings/bindings.js:112:48)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at Object.<anonymous> (/opt/zigbee2mqtt/node_modules/cc-znp/node_modules/@serialport/bindings/lib/linux.js:1:36)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at Module._compile (internal/modules/cjs/loader.js:805:30)
Mai 13 06:18:54 happyfamilyserver npm[2888]:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR! code ELIFECYCLE
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR! errno 1
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR! zigbee2mqtt@1.3.1 start: `node index.js`
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR! Exit status 1
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR!
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR! Failed at the zigbee2mqtt@1.3.1 start script.
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR! A complete log of this run can be found in:
Mai 13 06:18:54 happyfamilyserver npm[2888]: npm ERR!     /root/.npm/_logs/2019-05-13T04_18_54_921Z-debug.log
Mai 13 06:18:54 happyfamilyserver systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
Mai 13 06:18:54 happyfamilyserver systemd[1]: zigbee2mqtt.service: Unit entered failed state.
Mai 13 06:18:54 happyfamilyserver systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Mai 13 06:18:55 happyfamilyserver systemd[1]: zigbee2mqtt.service: Service hold-off time over, scheduling restart.
Mai 13 06:18:55 happyfamilyserver systemd[1]: Stopped zigbee2mqtt.
-- Subject: Unit zigbee2mqtt.service has finished shutting down
-- Defined-By: systemd


ich habe aber:

root@happyfamilyserver:~# node -v
v10.15.0


Habe node jetzt schon mal deinstalliert und wieder installiert, aber Fehler bleibt leider der gleiche

hier hatte jemand auch mal das Problem aber nicht wie er es gelöst hat aber könnte hier ja vielleicht mal bitte die Lösung posten?

Mfg Steffen

rischbiter123

Moin,

ich bin mir nicht ganz sicher, aber ich glaube, ich habe npm install noch mal ausgeführt und danach hat es funktioniert.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

HansDampfHH

#791
Aktuell habe ich zwei ICPSHC24-30EU-IL-1 Tradfri Trafos mit dem Stick gepaired.
Somit konnte ich schon mal wunderbar meine Lampen direkt über FHEM schalten.

Heute habe ich mir noch die Fernbedienung E1524 besorgt, weil ich natürlich auch mittels "Schalter" die Lampen steuern möchte.
Wie gehe ich vor?

Wenn ich die Fernbedienung mit den Trafos paire kann ich die Lampen zwar mit der Fernbedienung schalten, nicht aber mehr mit FHEM.
Jetzt habe ich die Fernbedienung direkt mit dem Stick gepaired, aber über FHEM kann ich da keine Befehle absetzen, die die Lampen schalten.

Hat da jemand Erfahrung und/oder Hinweise für mich?

Aktuell habe ich zwei ICPSHC24-30EU-IL-1 Tradfri Trafos mit dem Stick gepaired.
Somit konnte ich schon mal wunderbar meine Lampen direkt über FHEM schalten.

Heute habe ich mir noch die Fernbedienung E1524 besorgt, weil ich natürlich auch mittels "Schalter" die Lampen steuern möchte.
Wie gehe ich vor?

Wenn ich die Fernbedienung mit den Trafos paire kann ich die Lampen zwar mit der Fernbedienung schalten, nicht aber mehr mit FHEM.
Jetzt habe ich die Fernbedienung direkt mit dem Stick gepaired, aber über FHEM kann ich da keine Befehle absetzen, die die Lampen schalten.

Hat da jemand Erfahrung und/oder Hinweise für mich?

Edit:
Wird sich erledigen. Ich nutze einfach nicht die Tradfri Fernbedienung sondern einen bestehenden Homematic Wandtaster.
Dimmen der Beleuchtung ist überflüssig, schön ist die Tradfri Fernbedieung ohnehin nicht.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

petjek

Hi,
ich gebe zu, ich habe diesen Thread nicht komplett gelesen bevor ich meine Frage stelle. 53 Seiten sind schon eine Hausnummer.
Derzeit habe ich meinen Stick noch an einem Raspberry Pi laufen. Das habe ich vor langer Zeit mal eingerichtet und seit dem läuft der 1a.
Nun bin ich dabei auf einen NUC mit Proxmox umzuziehen und habe nach der Anleitung von Koenkk auch dort den Stick an einem LXC zum laufen bekommen.
Wenn ich aber abschließend die Bridge in FHEM anlegen will sagt's mir:
Unknown module XiaomiMQTTDevice
Gibt es das nicht mehr? Oder muss ich das manuell hinzufügen weil noch nicht eingecheckt? Im Wiki habe ich nichts Hilfreiches dazu gefunden, Commandref ebenfalls nicht.

LG p
Die Möglichkeiten der deutschen Grammatik können einen, wenn man sich darauf, was man ruhig, wenn man möchte, sollte, einlässt, überraschen.

siggiaze

Zitat von: petjek am 06 Juni 2019, 14:16:04
Hi,
ich gebe zu, ich habe diesen Thread nicht komplett gelesen bevor ich meine Frage stelle. 53 Seiten sind schon eine Hausnummer.
Derzeit habe ich meinen Stick noch an einem Raspberry Pi laufen. Das habe ich vor langer Zeit mal eingerichtet und seit dem läuft der 1a.
Nun bin ich dabei auf einen NUC mit Proxmox umzuziehen und habe nach der Anleitung von Koenkk auch dort den Stick an einem LXC zum laufen bekommen.
Wenn ich aber abschließend die Bridge in FHEM anlegen will sagt's mir:
Unknown module XiaomiMQTTDevice
Gibt es das nicht mehr? Oder muss ich das manuell hinzufügen weil noch nicht eingecheckt? Im Wiki habe ich nichts Hilfreiches dazu gefunden, Commandref ebenfalls nicht.

LG p
Hallo - du hast da wohl in deiner Installationsanleitung etwas übersehen:

update add https://raw.githubusercontent.com/oskarn97/fhem-xiaomi-mqtt/master/controls_xiaomi-zb2mqtt.txt
update all xiaomi-zb2mqtt
shutdown restart

define xBridge XiaomiMQTTDevice bridge
RaspberryPi3, Fhem, NodeRed
Floureon: Broadlink Thermostat
Shelly: Shelly1, Shelly 2.5
Sonoff: S20, Basic, POW2, Bridge, T2
Arduino: Selfmade GeoMagnet Garage Sensor

TWART016

node -v zeigt mit Version v12.4.0 an.

Mit
cd /opt/zigbee2mqtt
npm start


kommt der Fehler: Zigbee2mqtt requires node version 10, you are running v12.4.0!

Wie kann ich das downgraden / deinstallieren?

Laut github Anleitung funktioniert das mit sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs git make g++ gcc


nodejs -v zeigt mit v10.16.0 an