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

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

Vorheriges Thema - Nächstes Thema

matthias soll

#945
Oh nein ich glaube ich hab´s
ich hatte übersehen, dass das attribut
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"
gesetzt werden muss, sonst hat man genau dieses Problem.
JETZT LÄUFT´s DANKE!!!

matthias soll

Hallo zusammen,
hat irgendjemand den xiomi plug mit dem CC2531 laufen?
Ich bekomme ihn nicht geschaltet, weis aber auch nicht genau welches Template das richtige ist.
Wenn ich am Gerät schalte empfange ich ein ON und OFF aber wenn ich ein ON oder OFF oder on oder off sende passiert nichts.
Mit irgendeiner Verschlüsselung kann das nichts zutun haben oder? Die ist doch nur beim original Gateway nötig?
Jemand eine idee?

Beta-User

Für ein simples on/off-Device sollte zigbee2mqtt_plug passen.

Grundsätzlich nochmal:die attrTemplates gehen davon aus, dass wir es nach der Vermittlung über zigbee2mqtt eigentlich nicht mehr mit einer konkreten Hardware zu tun haben, sondern mit einem generischen Device, das bestimmte Eigenschaften hat, also hier: man kann es ein- und ausschalten, fertig.
Von daher klingt das eher danach, als wäre die Einbindung in zigbee2mqtt irgendwie noch unvollständig.

Aber wie immer gilt auch hier, dass wir nur raten können, was genau denn das hier bedeutet:
Zitat von: matthias soll am 23 Juni 2020, 06:39:19
aber wenn ich ein ON oder OFF oder on oder off sende passiert nichts.
Und da in diesem Thread eigentlich das Modul XiaomiMQTTDevice (?) behandelt wird, wäre es vermutlich am sinnvollsten, einen neuen Thread aufzumachen, falls das Problem bestehen bleibt?
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

matthias soll

Erstmal danke für deine Hilfe und die schnelle Antwort.
Das zigbee2mqtt_plug template benutze ich und es geht ein:
MQTT2_DEVICE MQTT2_zigbee_0x00158d0003556948 on
raus.
Ich hatte auch schon getestet mit groß geschriebenen ON aber auch ohne Erfolg.
Ist das Senden grundsätzlich etwas anderes als das empfangen?
Empfangen funktioniert mit mehr als 10 unterschiedlichen tastern.
Es kann aber durchaus sein, dass bei mir irgendetwas noch nicht richtig läuft,
wenn ich bei meinem Bridge Device die Deviceliste aufrufe kommt grundsätzlich Timeout reading answer for zigbee2mqtt/bridge/config/devices
Ich denke ich muss mir erstmal die Konfigurationsdateien genauer ansehen.

Beta-User

Hmm, zum einen weiß ich so immer noch nicht, was mit "ON" gemeint ist, aber das macht auch wenig Sinn weiterzusdiskutieren, wenn dir die Frage nicht klar ist und du nach mehr als 200 Beiträgen weder Code-Tags benutzt noch klarstellst, ob das jetzt Event-Monitor, Sende-Anweisung über die Kommandozeile ...  ist und was ggf. die Rückmeldung war (ON ist nämlich vermutlich nicht definiert und wäre ggf. erst durch eine Änderung der setList verfügbar; aber ohne (RAW-)list des devices kann ich auch nur weiterraten, was ich ab jetzt bezogen auf deine Frage sein lassen werde...).

Grundsätzlich ist es so, dass uU. mehr erfolgreich empfangen wird wie gesendet, denn die Sendeleistungen vom USB-Dongle und vom Aktor müssen ja nicht gleich sein... Vielleicht hast du auch "zu viele Geräte" und der Aktor paßt nicht mehr vollständig in den Speicher des CC2531 usw. usf.. In die Kompabilitätsliste bei zigbee2mqtt hast du vermutlich auch noch nicht geschaut?
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

matthias soll

Danke für die Tipps und die Belehrung ich wollte hier aber keine riesen Code Tags einfügen, weil das vermutlich nicht viel geholfen hätte.
Dass das ohne Code nicht immer eindeutig ist, ist mir auch klar.
Nach einem Neustart des Raspberry's funktioniert es jetzt.

fhem@supergut

Moin,

neue Hardware, neues Problem: Ich habe einen OSRAM SMART+ FLEX 3P Multicolor Basis RGBW LED-Streifen per zibgee2mqtt. Wird einwandfrei erkannt. Helligkeit, Farbtemperatur und On Off kein Problem. Aber scheinbar wir bei der Farbwahl der mqtt Befehl an zigbee2matt falsch erzeugt.

Farbtemperatur:
info  2020-07-06 16:38:15: MQTT publish: topic 'zigbee2mqtt/ak_osram_flex_RGB', payload '{"state":"ON","brightness":15,"color":{"x":0.417046801877253,"y":0.396255577584578},"color_temp":303,"update_available":false}'
Farbwahl:
info  2020-07-06 16:38:21: MQTT publish: topic 'zigbee2mqtt/ak_osram_flex_RGB', payload '{"state":"ON","brightness":15,"color":{},"color_temp":null,"update_available":false}'

Mein Device:
defmod ak_osram_flex_RGB XiaomiMQTTDevice 4052899926110 0x7cb03eaa00a7b1d4 ak_osram_flex_RGB
attr ak_osram_flex_RGB IODev Mosquitto
attr ak_osram_flex_RGB devStateIcon {return ".*:light_light_dim_100@#".ReadingsVal($name,"color","FFFFF").":toggle"}
attr ak_osram_flex_RGB group Licht
attr ak_osram_flex_RGB icon light_led_stripe_rgb
attr ak_osram_flex_RGB room Raum__Computer,XiaomiMQTTDevice,zAktoren
attr ak_osram_flex_RGB stateFormat state
attr ak_osram_flex_RGB userReadings color {Color::xyY2hex(ReadingsVal($name,"color-x",0),ReadingsVal($name,"color-y",0),ReadingsVal($name,"brightness",254))}
attr ak_osram_flex_RGB webCmd brightness:color:color_temp:TOGGLE:ON:OFF
attr ak_osram_flex_RGB widgetOverride brightness:colorpicker,BRI,0,15,255 color:colorpicker,RGB color_temp:colorpicker,CT,250,1,454

setstate ak_osram_flex_RGB ON
setstate ak_osram_flex_RGB 2020-07-06 16:38:21 brightness 15
setstate ak_osram_flex_RGB 2020-07-06 16:38:21 color FFD86E
setstate ak_osram_flex_RGB 2020-07-06 16:38:15 color-x 0.417046801877253
setstate ak_osram_flex_RGB 2020-07-06 16:38:15 color-y 0.396255577584578
setstate ak_osram_flex_RGB 2020-07-04 07:26:25 colorHEX 7b9166
setstate ak_osram_flex_RGB 2020-07-06 16:38:15 color_temp 303
setstate ak_osram_flex_RGB 2020-07-06 16:38:21 state ON
setstate ak_osram_flex_RGB 2020-07-06 16:38:21 transmission-state incoming publish received
setstate ak_osram_flex_RGB 2020-07-06 16:38:21 update_available false


Die Lösung vor ein paar dutzend Seiten vorher hier im Thread bringt keine Änderung. Wer kann mir helfen? Was muss im Modul geändert werden? Danke.

Andreas

Kawaci

Hallo! Ich glaub ich hab mir mein zigbee2mqtt zerschossen! Die bridge geht nicht mer online in fhem! Hab ein update von zigbee2mqtt laut der Anleitung gemacht und nach dem einspielen der alten config ist der raspi abgestürzt! seit dem geht die bridge nicht mehr online! was soll ich jetzt machen? Mein automatisches raspi backup funktionierte nicht bin ich dabei draufgekommen!

HerrEmo

edit: auch wenn ich es dann selber gelöst habe schicke ich den Post trotzdem ab, vielleicht hat ja jemand ein ähnliches Problem und die Lösung ist ähnlich simple.
Nachdem ich auf dem Raspi in die Logs geschaut hatte und da einige Logs mit 0Byte lagen war schon klar das das FS voll war.
alte Logs gelöscht
attr global verbose 1
attr global mseclog 1
attr FileLog.* nrarchive 5


Hallo,
seit 2 Tagen reagiert die xBridge nicht mehr auf die Xiaomi Taster etc.
Ich weiss nicht so richtig wo ich anfangen soll zu testen.

Rp habe ich gebooted
die xBridge steht auf State OFFLINE
beim pairen reagiert sie allerdings normal

2020-09-05 08:16:57 XiaomiMQTTDevice xBridge pair 1
2020-09-05 08:16:57 XiaomiMQTTDevice xBridge transmission-state: outgoing publish acknowledged
2020-09-05 08:16:58 XiaomiMQTTDevice xBridge transmission-state: incoming publish received
2020-09-05 08:16:58 XiaomiMQTTDevice xBridge transmission-state: outgoing publish acknowledged
2020-09-05 08:17:26 MQTT MQTT connection: active


die Definition
defmod xBridge XiaomiMQTTDevice bridge
attr xBridge IODev MQTT
attr xBridge room XiaomiMQTTDevice

setstate xBridge offline
setstate xBridge 2020-09-05 07:35:39 config {"version":"1.5.1","commit":"ac3b924","coordinator":20190608,"log_level":"info","permit_join":true}
setstate xBridge 2020-09-05 07:35:39 state offline
setstate xBridge 2020-09-05 08:21:57 transmission-state incoming publish received


Log von einem Taster
2020-09-04_02:17:35 Xia2TastA battery_level: 91
2020-09-04_03:08:15 Xia2TastA transmission-state: incoming publish received
2020-09-04_03:08:15 Xia2TastA linkquality: 55
2020-09-04_03:08:15 Xia2TastA battery: ok
2020-09-04_03:08:15 Xia2TastA battery_level: 97
2020-09-04_03:08:15 Xia2TastA voltage: 2995
2020-09-04_03:58:55 Xia2TastA transmission-state: incoming publish received
2020-09-04_03:58:55 Xia2TastA voltage: 2995
2020-09-04_03:58:55 Xia2TastA battery: ok
2020-09-04_03:58:55 Xia2TastA battery_level: 97
2020-09-04_03:58:55 Xia2TastA linkquality: 55
2020-09-04_04:49:35 Xia2TastA transmission-state: incoming publish received
2020-09-04_04:49:35 Xia2TastA battery: ok
2020-09-04_04:49:35 Xia2TastA battery_level: 97
2020-09-04_04:49:35 Xia2TastA linkquality: 52
2020-09-04_04:49:35 Xia2TastA voltage: 2995
2020-09-04_05:40:15 Xia2TastA transmission-state: incoming publish received
2020-09-04_05:40:15 Xia2TastA battery: ok
2020-09-04_05:40:15 Xia2TastA battery_level: 97
2020-09-04_05:40:15 Xia2TastA linkquality: 49
2020-09-04_05:40:15 Xia2TastA voltage: 2995
2020-09-05_07:35:39 Xia2TastA transmission-state: subscribe sent
2020-09-05_07:35:39 Xia2TastA transmission-state: subscription acknowledged


Fhem Anzeige https://i.imgur.com/XANbdp1.png
* Banana Pro mit rasbian und FHEM 5.8 * JeeLink (v3c) - JeeLink 868   -> Proficell TX 29
*SCC - Stackable CC1101 433Mhz + 868Mh SlowRF -> Brennenstuhl Steckdosen
*Fritzbox FBAHA -> Dect Steckdose *Gateway Intertechno ITGW-433 ->  Rolladensteuer RMF
*HM-CFG-USB-2 -> HM-SEC-SCO - HM-CC-RT-DN

andre07

Wie einige Threads weiter oben versuche ich auch ein Xiaomi Plug mit Leistungsmessung zu betreiben
Laut Koenk kann man das device manuell so einrichten
witch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/set"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "W"
    icon: "mdi:flash"
    value_template: "{{ value_json.power }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "°C"
    device_class: "temperature"
    value_template: "{{ value_json.temperature }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "kWh"
    value_template: "{{ value_json.consumption }}"
    icon: "mdi:flash"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "V"
    icon: "mdi:alpha-v"
    value_template: "{{ value_json.voltage }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    icon: "mdi:signal"
    unit_of_measurement: "lqi"
    value_template: "{{ value_json.linkquality }}"


Dazu habe ich das template plug mit Energiemessung benutzt
Mein Problem ist das  zwar Status inclusive Power Status und Temp
übermittelt wird nur schalten läßt es sich nicht.
defmod MQTT2_zigbee_0x00158d0003938a74 MQTT2_DEVICE zigbee_0x00158d0003938a74
attr MQTT2_zigbee_0x00158d0003938a74 DbLogExclude .*
attr MQTT2_zigbee_0x00158d0003938a74 IODev MQTTServer
attr MQTT2_zigbee_0x00158d0003938a74 alexaName schalter
attr MQTT2_zigbee_0x00158d0003938a74 devStateIcon {my $light = FW_makeImage(ReadingsVal($name,"state","off"));; my $current = ReadingsVal($name,"current",0);; my $pwr = ReadingsVal($name,"power",0);; my $energy = ReadingsVal($name,"energy",0);; qq(<div> <a href="/fhem?cmd.dummy=set $name toggle&XHR=1">$light</a> Aktuell: $current A  Leistung.: $pwr W<b></b>)}
attr MQTT2_zigbee_0x00158d0003938a74 devicetopic zigbee2mqtt/0x00158d0003938a74
attr MQTT2_zigbee_0x00158d0003938a74 eventMap { dev=>{ON=>'on',OFF=>'off'} }
attr MQTT2_zigbee_0x00158d0003938a74 genericDeviceType switch
attr MQTT2_zigbee_0x00158d0003938a74 icon message_socket
attr MQTT2_zigbee_0x00158d0003938a74 model zigbee2mqtt_plug_w_energy_measuring
attr MQTT2_zigbee_0x00158d0003938a74 readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_0x00158d0003938a74 room MQTT2_DEVICE
attr MQTT2_zigbee_0x00158d0003938a74 setList on:noArg $DEVICETOPIC/set {"state":"ON"}\
  off:noArg $DEVICETOPIC/set {"state":"OFF"}\
  toggle:noArg $DEVICETOPIC/set {"state":"TOGGLE"}
attr MQTT2_zigbee_0x00158d0003938a74 setStateList on off toggle

Auch ein zigbee2mqtt/0x00158d0003928c00/set on per hand funktioniert nicht.
Vieleicht hat jemand dieses Teil und kann weiterhelfen

Andre

matthias soll

Hi Andre,
mit Set on müsste das gehen.
Ich hatte und habe das Problem wenn die Bridge ein paar Tage läuft funktioniert das Einschalten nichtmehr.
Wenn ich die bridge einmal stoppe und mit
sudo systemctl start zigbee2mqtt wieder neu starte geht es wieder. Ka warum.
Ist aber nicht nur bei dem Xiaomi Teil so auch mit meinem sonoff zbr3.

andre07

Genau das selbe tritt bei mir auch auf hatte das gestern festgestellt als ich mein kuechenlicht einschalten wollte.
Der Befehl wurde nachdem ich mein zigbee Gateway neu gestartet habe ausgeführt.
Aber dieses Verhalten das manche Geräte ab und zu nicht gehen hatte ich schon öfters.
Woran das liegt an fhem wahrscheinlich oder an meinen vielen Funksystemen die ich betreibe wie Wlan zigbee homematic bluetooth.

Caleus

#957
Hey Leute

ich hänge mich mal rein und frage mal ganz unverschämt und auch mit dem wissen nicht alles hier gelesen zu haben nach, ich habe schon beim ersten schritt Probleme und zwar wenn ich

sudo curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

ausführe bekomme ich

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
OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
OK:3 http://archive.raspberrypi.org/debian buster InRelease
OK:1 https://apt.pilight.org stable InRelease
Holen:4 https://repo.mosquitto.org/debian stretch InRelease [11,0 kB]
OK:5 https://deb.nodesource.com/node_12.x buster InRelease
Fehl:4 https://repo.mosquitto.org/debian stretch InRelease
  Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher                                                                                                                                                             
Schlüssel nicht verfügbar ist: NO_PUBKEY 61611AE430993623
Paketlisten werden gelesen... Fertig
N: Datei »mosquitto-stretch.list.1« in Verzeichnis »/etc/apt/sources.list.d/« wird ignoriert, da sie eine ungültige Dateinamen-Erweiterung hat.
W: GPG-Fehler: https://repo.mosquitto.org/debian stretch InRelease: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 61611AE430993623
E: Das Depot »https://repo.mosquitto.org/debian stretch InRelease« ist nicht signiert.
N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8).
Error executing command, exiting


das angezeigt, kann mir einer von euch da weiter helfen ?

Raspberry Pi 4
Raspian Buster
Fhem Update am 18.10.20 gemacht
ITSTUFF CC2531 ZigBee USB-Stick, Default-Firmware von Koenkk mit Stand 08.06.2019

Gruß Caleus

Tomk

#958
Hallo zusammen,

ich habe seit wenigen Tagen das Problem das ich keine Zigbee Geräte updates in Fhem bekomme. Daraufhin habe jetzt zigbee2mqtt geupdated und auch npm / node.
Jetzt habe ich beim starten folgendes problem:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/bin/npm', 'start' ]
2 info using npm@6.14.8
3 info using node@v14.15.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:315: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:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1048:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid zigbee2mqtt@1.16.1
15 verbose cwd /opt/zigbee2mqtt
16 verbose Linux 4.9.35-v7+
17 verbose argv "/usr/local/bin/node" "/usr/bin/npm" "start"
18 verbose node v14.15.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 ]



Hat jemand eine Idee wie ich hier weiterkomme?

Besten dank vorab!

Kurzes Update: läuft wieder, es lag am Stick. Nachdem ich den cc2531 neu geflasht habe lief es wieder. Komisch...

Tomk

#959
Hallo zusammen,

eine Frage: ich möchte meine Osram e27 Lampe Dimmen. Ich habe über WidgetOverride ,,brightness:slider,0,15,255" einen slider hinzugefügt. Das funktioniert auch. Jetzt würde ich die Helligkeit gerne von ,,außen" steuern. Wenn ich das Reading ,, brightness" direkt schreibe ändert sich zwar der Wert aber er wird nicht an die Lampe gesendet. Wie kann ich die Helligkeit von außen schreiben?

Danke

Update: Hab's selbst hinbekommen ,,set xyz brightness WERT" funktioniert ganz einfach... ich hatte es vorher immer mit setreading probiert.