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

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

Vorheriges Thema - Nächstes Thema

ofno

#795
Hallo
ich konnte mit dem Modul erfolgreich mit 2 Aqara Temperatur- und Luftfeuchtigkeits-Sensor verbinden.

Ich habe mir jetzt ein LED Band "OSRAM SMART+ Flex LED Strip 3P Multicolour" zugelegt. Dieses wird erfolgreich verbunden.

https://www.zigbee2mqtt.io/devices/4052899926110

Ich konnte auch Attribute setzen um das Band aus und an zuschalten, es lässt sich auch brightness und color_temp steuern.

define 0x............... XiaomiMQTTDevice 4052899926110 0x...............
setuuid 0x............... 5cfad39a-f33f-2830-3f7a-f80b4548d
attr 0x............... IODev MQTT
attr 0x............... room XiaomiMQTTDevice
attr 0x............... webCmd brightness:color:color_temp:TOGGLE:ON:OFF
attr 0x............... widgetOverride brightness:colorpicker,BRI,0,15,255 color:colorpicker,RGB color_temp:colorpicker,CT,250,1,454


Nur bei der Farbe stimmt das Attribut nicht, oder es wird nicht richtig weitergegeben. ich weiß nicht wie ich color xy, definieren soll.

Readings
brightness 165
color-x 0.381
color-y 0.377
color_mode 2
color_temp 348


Kann mir jemand sagen, was ich ggf. anpassen muss um auch die Farbe zu setzen, ggf. muss dies am Modul angepasst werden.

Außerdem bräuchte ich noch Unterstützung für das  "setList" Attribut, unter set gibt es bisher nur das remove.

Danke für jede Hilfe

Gruß ofno

sprudelverduenner

Hallo zusammen,

Ich habe das Problem, dass nach einem Neustart von FHEM meine
MQTT2_zigbee_bridge
Nicht mehr offline ist oder online ist und dann nachdem ein Aktion eines zigbee devices empfangen wurde dann offline geht.

Meine bisherige Lösung ist den Raspberry Pi komplett runter zu fahren,
Den raspberry pi Stromlos machen,
Den CC2531 aus und wieder einstecken,
Und den den raspberry Pi mit Strom verbinden und damit hoch zu fahren.

Danach gehen alle zigbee Komponenten einwandfrei bis ich z.B. Nach einem FHEM update FHEM wieder neu starten muss...

Gibt es dafür einen Tipp oder Trick?
Braucht ihr dafür irgendwelche lists oder Configs?

Danke für eure Antworten.
LG, Sprudelverduenner
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

Neuhier

Neustart FHEM macht hier kein Auswirkungen.
RPi rebooten und ich habe das gleiche Problem wie Du.
Also runterfahren, Strom weg, kurz warten, Strom dran und geht wieder.
Woher das kommt, weiß ich aber leider auch nicht.

Beta-User

Sind weitere USB-Geräte am Server? Wenn ja, wie eingebunden (in FHEM und zigbee2mqtt)?
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

sprudelverduenner

Nein,
Einziger USB Stick ist der CC2531.

die configuration.yaml sieht bei mir so aus:
homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://localhost'
  client_id: zigbeeStick
serial:
  port: >-
    /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0014D9D9CD-if00
devices:
  '0x00158d00027ce0d2':
    friendly_name: 'bad.cube'
    retain: true
  '0x90fd9ffffedf660b':
    friendly_name: 'kueche.remote'


Ich hatte seinerzeit extra auf die serial des devices umgestellt im einem Konflikt aus dem Weg zu gehen falls mal ein 2. USB Stick dazu käme...
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

Beta-User

Hmmm, dann ist es das wohl nicht....Läuft denn der Dienst weiter?
Evtl. ein Spannungsversorgungsthema o, einfach ein Firmware-bug?
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

ofno

#801
Zitat von: ofno am 21 Juni 2019, 18:06:32
Hallo
ich konnte mit dem Modul erfolgreich mit 2 Aqara Temperatur- und Luftfeuchtigkeits-Sensor verbinden.

Ich habe mir jetzt ein LED Band "OSRAM SMART+ Flex LED Strip 3P Multicolour" zugelegt. Dieses wird erfolgreich verbunden.

https://www.zigbee2mqtt.io/devices/4052899926110

Ich konnte auch Attribute setzen um das Band aus und an zuschalten, es lässt sich auch brightness und color_temp steuern.

define 0x............... XiaomiMQTTDevice 4052899926110 0x...............
setuuid 0x............... 5cfad39a-f33f-2830-3f7a-f80b4548d
attr 0x............... IODev MQTT
attr 0x............... room XiaomiMQTTDevice
attr 0x............... webCmd brightness:color:color_temp:TOGGLE:ON:OFF
attr 0x............... widgetOverride brightness:colorpicker,BRI,0,15,255 color:colorpicker,RGB color_temp:colorpicker,CT,250,1,454


Nur bei der Farbe stimmt das Attribut nicht, oder es wird nicht richtig weitergegeben. ich weiß nicht wie ich color xy, definieren soll.

Readings
brightness 165
color-x 0.381
color-y 0.377
color_mode 2
color_temp 348


Kann mir jemand sagen, was ich ggf. anpassen muss um auch die Farbe zu setzen, ggf. muss dies am Modul angepasst werden.

Außerdem bräuchte ich noch Unterstützung für das  "setList" Attribut, unter set gibt es bisher nur das remove.

Danke für jede Hilfe

Gruß ofno

per "MQTT Explorer" konnte ich über ein publish die Farbe setzen.

{"color": {    "x": 0.203,    "y": 0.262} }

Problem scheint mir die Übergabe der Farbe an zigbee2mqtt zu sein.

aus dem Log:

debug: Received MQTT message on 'zigbee2mqtt/0x7cb03eaa00ab4309/set' with data '{"color":"FF0000"}'

Die Frage wie bekommt man die Farbe in diesem Format einfach ausgewählt und so übergeben: {"color": {    "x": 0.203,    "y": 0.262} }

Ich habe außerdem  geändert:
devStateIcon {return ".*:light_light_dim_100@#".ReadingsVal($name,"color","FFFFF").":toggle"}

sowie ein userReadings angelegt

attr 0x7cb03eaa00ab4309 userReadings color {Color::xyY2hex(ReadingsVal($name,"color-x",0),ReadingsVal($name,"color-y",0),ReadingsVal($name,"brightness",254))}

ofno

Hallo

ich habe für mein color Problem einen fix gebaut.

72_XiaomiMQTTDevice.pm Zeile 214 wie folgt ersetzt.


        if($command eq 'color') {
            publish($hash, XiaomiMQTT::DEVICE::GetTopicFor($hash) . "/set", "{\"state\":\"ON\",\"color\": {" . $value  . "} }");
        }
else {
            publish($hash, XiaomiMQTT::DEVICE::GetTopicFor($hash) . "/set", encode_json({$command => $value}));
        }


dadurch kann der Wert von color direkt übergeben werden.

set 0x7cb03eaa00ab4309 color "x":0.281,"y":0.277 

PatBreitMe

Kann ich einen Wemos D1 oder einen anderen 8266 Chip über die selbe MQTT Bridge laufen lassen ?

Habe schon versucht eine zweite Bridge an zu legen, jedoch ist immer nur eine online. Jetzt ist die frage ob man nicht alles über eine Bridge laufen lassen kann

thetornado76

Hallo,

Ich versuche leider erfolglos meine ersten Zigbee Geräte ans laufen zu bringen. Ich habe einen CC2531 und eine Steckdose  https://www.zigbee2mqtt.io/devices/AV2010_25 mit der ich hauptsächlich den Verbrauch von Geräten messen möchte.
Ich habe die Anleitung von Koenkk befolgt und konnte erfolgreich den CC2531 ans laufen bringen. Die Bridge ist zumindest online und der Status von zigbee2mqtt.service ist running. Die Steckdose habe ich bereits gepairt, komme aber bei den Readings nicht weiter.

Internals:
   CFGFN     
   DEF        unknown 0x00124b001938decb
   FRIENDLYNAME 0x00124b001938decb
   FUUID      5d24a3a3-f33f-7b32-f006-a70e14223c6fc97a
   IODev      myBroker
   MODEL      unknown
   NAME       0x00124b001938decb
   NOTIFYDEV  unknown 0x00124b001938decb
   NR         6937
   SID        0x00124b001938decb
   STATE      state
   TYPE       XiaomiMQTTDevice
   READINGS:
     2019-07-09 16:24:35   transmission-state subscription acknowledged
   message_ids:
   subscribe:
     zigbee2mqtt/0x00124b001938decb
     xiaomi/0x00124b001938decb/#
   subscribeExpr:
     ^zigbee2mqtt\/0x00124b001938decb$
     ^xiaomi\/0x00124b001938decb.*$
   subscribeQos:
     xiaomi/0x00124b001938decb/# 0
     zigbee2mqtt/0x00124b001938decb 0
Attributes:
   IODev      myBroker
   room       Test
   stateFormat state


Meine configuration.yaml

# 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'
  client_id: 'zigbee_pi'
# 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___0X00124B001938DECB-if00


Kann mir einer weiterhelfen, was ich als MQTT Anfänger tun muss, damit ich den Verbrauch bekomme und die Steckdose schalten kann?

Vielen Dank schonmal!

Beta-User

Zitat von: PatBreitMe am 09 Juli 2019, 11:48:04
Kann ich einen Wemos D1 oder einen anderen 8266 Chip über die selbe MQTT Bridge laufen lassen ?

Habe schon versucht eine zweite Bridge an zu legen, jedoch ist immer nur eine online. Jetzt ist die frage ob man nicht alles über eine Bridge laufen lassen kann
Diese Frage hat m.E. nichts mit Zigbee2mqtt zu tun, das betrifft allgemein MQTT. Verwende bitte die von dir genutzte firmware als Suchbegriff, dann wirst du ziemlich sicher fündig werden (tendenziell aber im MQTT-Bereich des Forums)...




@thetornato76:
Ich verwende zwar eine etwas andere Einbindung des zigbee2mqtt-Diensts, aber hier wie dort benötigt man ein ausdrücklich als Bridge definiertes Gerät, um die weiteren Geräte neben dem Dongle/Dienst zu vereinzeln.
Steht für diese Art der Einbindung meiner Erinnerung nach im ersten Post hier, wie das geht. Für MQTT2_DEVICE stünde es im Wiki (Unterabschnitt in "MQTT2-Praxisbeispiele").
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

ofno

Zitat von: thetornado76 am 09 Juli 2019, 17:26:46
Hallo,

Ich versuche leider erfolglos meine ersten Zigbee Geräte ans laufen zu bringen. Ich habe einen CC2531 und eine Steckdose  https://www.zigbee2mqtt.io/devices/AV2010_25 mit der ich hauptsächlich den Verbrauch von Geräten messen möchte.
Ich habe die Anleitung von Koenkk befolgt und konnte erfolgreich den CC2531 ans laufen bringen. Die Bridge ist zumindest online und der Status von zigbee2mqtt.service ist running. Die Steckdose habe ich bereits gepairt, komme aber bei den Readings nicht weiter.

Internals:
   CFGFN     
   DEF        unknown 0x00124b001938decb
   FRIENDLYNAME 0x00124b001938decb
   FUUID      5d24a3a3-f33f-7b32-f006-a70e14223c6fc97a
   IODev      myBroker
   MODEL      unknown
   NAME       0x00124b001938decb
   NOTIFYDEV  unknown 0x00124b001938decb
   NR         6937
   SID        0x00124b001938decb
   STATE      state
   TYPE       XiaomiMQTTDevice
   READINGS:
     2019-07-09 16:24:35   transmission-state subscription acknowledged
   message_ids:
   subscribe:
     zigbee2mqtt/0x00124b001938decb
     xiaomi/0x00124b001938decb/#
   subscribeExpr:
     ^zigbee2mqtt\/0x00124b001938decb$
     ^xiaomi\/0x00124b001938decb.*$
   subscribeQos:
     xiaomi/0x00124b001938decb/# 0
     zigbee2mqtt/0x00124b001938decb 0
Attributes:
   IODev      myBroker
   room       Test
   stateFormat state


Meine configuration.yaml

# 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'
  client_id: 'zigbee_pi'
# 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___0X00124B001938DECB-if00


Kann mir einer weiterhelfen, was ich als MQTT Anfänger tun muss, damit ich den Verbrauch bekomme und die Steckdose schalten kann?

Vielen Dank schonmal!
Hi,

Ich habe über das Modul, eine Osram smart+ Steckdose sowie ein Flex Led Band eingebunden.  Für color musste ich eine Anpassung machen. S.o.

Das Modul legt nur die devices an, die es vom Typ kennt.

In der Doku von zigbee2mqtt steht welche Dinge unterstützt werden.

Bei mir wurden die readings jeweils angezeigt und ich habe die restlichen Attribute manuell gesetzt.

OT ich habe einen 2ten stick an einem 2ten raspberry angeschlossen die DB + config kopiert, die Geräte komplett unter fhem aus der config kopiert und somit sind die Sensoren und Osram Geräte auf beiden eingebunden.
Gruß ofno

thetornado76

Zitat von: Beta-User am 09 Juli 2019, 17:42:46
@thetornato76:
Ich verwende zwar eine etwas andere Einbindung des zigbee2mqtt-Diensts, aber hier wie dort benötigt man ein ausdrücklich als Bridge definiertes Gerät, um die weiteren Geräte neben dem Dongle/Dienst zu vereinzeln.
Steht für diese Art der Einbindung meiner Erinnerung nach im ersten Post hier, wie das geht. Für MQTT2_DEVICE stünde es im Wiki (Unterabschnitt in "MQTT2-Praxisbeispiele").

Ich habe mir jetzt noch die Innr Sp120 Steckdose und den Xiaomi Aqara Wassermelder zugelegt. Beide haben sofort funktioniert und liefern mir gültige Werte. Weiß nicht was an der Bitron Steckdose anders sein soll, da sie auch Zigbee spricht. Dann wird sie eben wieder zurück geschickt.

tyrolean

Hallo,

kurze allgemeine Frage:
Ist es möglich dass ich das Modul parallel zu einer bereits vorhandenen Verbindung zum Xiaomi / Aqara Gateway betreibe.
--> Ich würde meine Konfiguration mit dem Aqara Gateway gerne beibehalten, parallel aber auf die Temperatursenoren mittels FHEM zugreifen.

Sehe ich das übrigens richtig dass ich beim Kauf dieses Stick's mir das flashen sparen kann?
https://www.ebay.de/itm/CC2531-ZigBee-USB-Stick-zigbee2mqtt-ioBroker-FHEM-Xiaomi-HUE-Ikea-mit-Firmware/372536176132?_trkparms=aid%3D555018%26algo%3DPL.SIM%26ao%3D1%26asc%3D20140117130753%26meid%3D36ca5895174d477dbd2758148958e6a8%26pid%3D100005%26rk%3D1%26rkt%3D12%26mehot%3Dpp%26sd%3D254167411252%26itm%3D372536176132%26pg%3D2047675&_trksid=p2047675.c100005.m1851

Gruß und Dank

rischbiter123

Moin,

zu 2.) Ja, habe ich auch in Benutzung und läuft.

LG

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