[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

Wenn es läuft, dann nur mit der Coordinator-firmware, die für zigbee2mqtt auch paßt (https://github.com/kirovilya/files/blob/master/CC2530ZNP-Pro-Secure_LinkKeyJoin.hex).

Meine Hoffnung: Die Initialisierung der Chips ist (herstellerübergreifend) standardisiert, und die Ein- und Ausgabe an der seriellen Schnittstelle ebenso. Wäre ein Glückstreffer, wenn das klappt, aber wir werden ggf. sehen...
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

mark79

Zitat von: gloob am 06 Dezember 2018, 14:24:42
Ich hab zwar den CC2530 hier, aber wüsste jetzt noch wie ich die passende Firmware auf den CC2530 bekomme. Ich denke da sind komplett andere Devices im Spiel.

Hast du kein Debugger für den CC2530? Alternativ kann man den CC2530 auch mit nem Arduino flashen, das flashen dauert allerdings ein paar Stunden. Hatte ich am Anfang mal gemacht: https://github.com/Koenkk/zigbee2mqtt/wiki/Alternative-firmware-flashing-methods

In diesem ConBee Stick sind bestimmt diese Funk Platinen drin? https://shop.dresden-elektronik.de/oem-modul-arm-ufl-2-4-ghz.html
Könnte man da nicht einfach ein USB TTL dran anschließen und dann hätte man so ein Stick, relativ günstig.. fragt sich nur, wie man das flasht.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

gloob

Zitat von: mark79 am 06 Dezember 2018, 22:17:21
Hast du kein Debugger für den CC2530? Alternativ kann man den CC2530 auch mit nem Arduino flashen, das flashen dauert allerdings ein paar Stunden. Hatte ich am Anfang mal gemacht: https://github.com/Koenkk/zigbee2mqtt/wiki/Alternative-firmware-flashing-methods

In diesem ConBee Stick sind bestimmt diese Funk Platinen drin? https://shop.dresden-elektronik.de/oem-modul-arm-ufl-2-4-ghz.html
Könnte man da nicht einfach ein USB TTL dran anschließen und dann hätte man so ein Stick, relativ günstig.. fragt sich nur, wie man das flasht.

Ich habe alles zum flashen da. Die Frage ist nur welche Firmware nutzen und wie bringt man der Software bei, dass der Stick auf einmal eine andere Hardware Kennung hat. Ich denke ganz so einfach wird es nicht sein.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Beta-User

Zitat von: gloob am 07 Dezember 2018, 08:28:10
Ich habe alles zum flashen da. Die Frage ist nur welche Firmware nutzen und wie bringt man der Software bei, dass der Stick auf einmal eine andere Hardware Kennung hat. Ich denke ganz so einfach wird es nicht sein.
Ob deCONZ das Ding an der seriellen Kennung oder eine firmware-Abfrage erkennt, ist eine der Fragen, die zu klären wären. Läßt sich der Ort konfigurieren, wo die SW das Dongle suchen soll?
Wenn ja: einfach testen, wäre meine erste Idee; danach sehen wir weiter. Es muß halt eine Coordinator-firmware sein, soviel ist eigentlich logisch, mehr nicht bekannt.
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

mark79

Ich würde es auch einfach ausprobieren.. Die Zigbee2mqtt FW findest du im Github.

Ich habe gerade mal versucht die deConz Firmware auf ein CC2530 zu flashen, aber er meckert wegen zu wenig Speicher:
CC2530 - ID0050: HEX file content at address 0x41B4FF exceeds chip's 256 kB flash size
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Beta-User

Zitat von: mark79 am 07 Dezember 2018, 14:00:19
Ich würde es auch einfach ausprobieren..
Da bin ich völlig bei dir, und zwar mit der bereits mehrfach genannten firmware auf dem CC, was anderes kann eigentlich nicht klappen (oder nur mit extremem Aufwand).

Dazu noch ein paar Anmerkungen:
Zitat von: mark79 am 07 Dezember 2018, 14:00:19Die Zigbee2mqtt FW findest du im Github.
Wieso ist das eine zigbee2mqtt firmware? Es ist eine firmware für den CC2530, die auch von zigbee2mqtt genutzt wird, aber es spräche z.B. auch nichts dagegen, diese firmware mit diverser anderer Client-Software zu nutzen (z.B. einem Perl-Modul für FHEM, das ähnlich wie CUL+CUL_HM aufgebaut ist...). Soweit erkennbar, stammt die firmware im Kern von TI, allerdings braucht man einen kostenpflichtigen Compiler, weswegen eben irgendjemand den service übernommen hat, binaries zum Download anzubieten. Aber das ist trotzdem die firmware, die auch ein komerzieller Hersteller (als Basis) nutzen würde, um das Ding auf irgendeinem Board in einer beliebigen Bridge zu verwenden, oder?

ZitatIch habe gerade mal versucht die deConz Firmware auf ein CC2530 zu flashen, aber er meckert wegen zu wenig Speicher:
CC2530 - ID0050: HEX file content at address 0x41B4FF exceeds chip's 256 kB flash size
Das kann nicht klappen, D.E. nutzt einen anderen Chip (ATMegaIrgendwas), der u.A. deutlich mehr Speicher enthält und daher mehr Geräte verwalten kann. Das sagt aber noch nichts darüber, ob er "reguläres Zigbee-over-serial" "spricht" (oder wie man das auch immer nennen mag). Also entweder gibt es eine Art universelles Protokoll, das alle/mehrere Chipsets für diesen Zweck grundsätzlich akzeptieren (so wie AT commands bei Modems), oder es klappt eben nicht (und man müßte tatsächlich die firmware erheblich modifizieren, was den Aufwand dann nicht wert wäre). That's all...

Oder hat da jemand andere Ideen?
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

mark79

Ich nenne sie halt so :) , also Zigbee2mqtt Firmware weil die Leute von dort die FW angepasst und kompiliert haben.
Das geht meine ich mit diesen Tool, also das bearbeiten und compilieren: https://github.com/Koenkk/Z-Stack-firmware

Wenn man die Firmware Dateigröße vergleicht zwischen DeConz und Zigbee2mqtt ist die Deconz mehr als die hälfte kleiner als die Zigbee2mqtt FW.
Also könnte das evtl. schon was dran sein, das alles over-serial spricht.

Wegen dem Deconz Tool, braucht das Dingen eigentlich immer noch ein X Server? Also geht es nur mit einer graphischen Benutzeroberfläche?
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Beta-User

Hmm, interessant, habe mir die Modifikationen grad angesehen. Sieht so aus, als würde beim CC2530 nur die "normale" Verwendung mit SPI ersetzt oder ergänzt um einen seriellen Port. Beim CC2531 beschränken sich die Änderungen auf die Puffergröße (und die Anzahl der Devices usw.), insgesamt aber eigentlich auf Kleinigkeiten :) .

Warum die firmware bei dem ATMega kleiner ist, wäre natürlich einerseits interessant zu wissen, aber das ist auch eine ganz andere Architektur (evtl. einiges älter) - da vergleicht man schnell Äpfel und Birnen.

Es gab mal irgendwo Ansätze, DeConz headless betreiben zu können, aber ob das über ein experimental Stadium raus ist? Jedenfalls afaik ist die SW noch nicht zu stretch kompatibel :( .
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

mark79

Ja bis auf die max. Anzahl der Geräte.. vielleicht finden sich ja noch irgendwann andere Chips mit mehr Speicher.
So bin ich auch zufrieden und es läuft stabil, aber ich bin auch noch unter 15 Geräte.

Die Architektur wird bei DeConz neuerer sein, sofern sie diese Chips verwenden: https://shop.dresden-elektronik.de/oem-modul-arm-ufl-2-4-ghz.html

Das sind zwei schlechte Nachrichten, eine Gui und kein Stretch. Gut könnte man im LXC machen, aber mir reicht zigbee2mqtt erstmal.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

gloob

Deconz läuft definitiv auf Stretch und es gibt auch eine Version ohne GUI.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

sparkiie

#625
Ich möchte die Aqara Sensoren per MQQT2_Server nutzen.
dazu habe ich den MQTT2_SERVER und MQTT2_DEVICE angelegt:

defmod MQTT2_FHEM_Server MQTT2_SERVER 1883 global
attr MQTT2_FHEM_Server autocreate 1
attr MQTT2_FHEM_Server room Xiaomi

setstate MQTT2_FHEM_Server 2018-12-08 16:08:36 RETAIN {"zigbee2mqtt/bridge/state":"online"}
setstate MQTT2_FHEM_Server 2018-12-08 16:08:36 nrclients 1
setstate MQTT2_FHEM_Server 2018-12-08 16:06:37 state Initialized


defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_pi readingList zigbee_pi:zigbee2mqtt/bridge/state:.* state
attr MQTT2_zigbee_pi room Xiaomi
attr MQTT2_zigbee_pi 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

setstate MQTT2_zigbee_pi permit_join
setstate MQTT2_zigbee_pi 2018-12-08 16:09:09 state permit_join


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

                Zigbee2mqtt requires node version >=8.11 10, you are running v8.11.2!

  zigbee2mqtt:info 2018-12-8 16:08:35 Logging to directory: '/opt/zigbee2mqtt/data/log/2018-12-08.16-08-35'
  zigbee2mqtt:info 2018-12-8 16:08:36 Starting zigbee2mqtt version 0.2.0 (commit #5b38ad6)
  zigbee2mqtt:info 2018-12-8 16:08:36 Starting zigbee-shepherd
  zigbee2mqtt:info 2018-12-8 16:08:36 zigbee-shepherd started
  zigbee2mqtt:info 2018-12-8 16:08:36 Coordinator firmware version: '20180815'
  zigbee2mqtt:info 2018-12-8 16:08:36 Currently 0 devices are joined:
  zigbee2mqtt:warn 2018-12-8 16:08:36 `permit_join` set to  `true` in configuration.yaml.
  zigbee2mqtt:warn 2018-12-8 16:08:36 Allowing new devices to join.
  zigbee2mqtt:warn 2018-12-8 16:08:36 Set `permit_join` to `false` once you joined all devices.
  zigbee2mqtt:info 2018-12-8 16:08:36 Zigbee: allowing new devices to join.
  zigbee2mqtt:info 2018-12-8 16:08:36 Connecting to MQTT server at mqtt://localhost:1883
  zigbee2mqtt:info 2018-12-8 16:08:36 zigbee-shepherd ready
  zigbee2mqtt:info 2018-12-8 16:08:36 Connected to MQTT server
  zigbee2mqtt:info 2018-12-8 16:08:36 MQTT publish, topic: 'zigbee2mqtt/bridge/state', payload: 'online'
  zigbee2mqtt:info 2018-12-8 16:09:09 Zigbee: allowing new devices to join.


Leider werden beim Pairen keine Sensoren erkannt. Muss ich noch etwas anpassen?


mark79

Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Beta-User

Bitte autocreate das 1. Mqtt2-device anlegen lassen und die bridge-definition so machen, wie in meinem letzten Beitrag im "läuft"-Thread beschrieben.

Dann sollten Sensoren von alleine gehen. Für bulbs muss man einmalig was publishen. Aktualisieren im wiki kommt demnächst...
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

sparkiie

Sagt mal ist es so schwer die Magnetkontakte zu pairen?

Ich habe innerhalb von 2 Stunden nur einen von 10 verbinden können?!

mark79

Zitat von: sparkiie am 08 Dezember 2018, 21:56:56
Sagt mal ist es so schwer die Magnetkontakte zu pairen?

Ich habe innerhalb von 2 Stunden nur einen von 10 verbinden können?!
Hast du vielleicht ein WLAN/BT Gerät in der Nähe? Die funken auf der selben Frequenz und das stört dann. Beim pairen muss man so nah Möglich an den Stick ran...

Ich fand die Fensterkontakte nicht schwer, der Würfel war etwas tricky.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten