xiaomi aquara Sensoren laufen in ein Device [gelöst]

Begonnen von Hausierer, 10 Januar 2020, 12:44:06

Vorheriges Thema - Nächstes Thema

Hausierer

Hallo Leute,

ich habe das Problem das xiaomi aquara Sensoren in ein Device laufen. Konkret habe ich 3 Sensoren (Tür/ Fenster Sensor, Temp/Feuchte Sensor. Wasser Sensor) Ein Device wurde automatisch angelegt und beinhaltet die Readings von allen Geräten.

Wie bekomme ich das auf die einzelnen Geräte aufgesplittet?
Was habe ich falsch gemacht?

LG Holger

Internals:
   CFGFN     
   CID        mqttjs_23fbb5be
   DEF        mqttjs_23fbb5be
   DEVICETOPIC MQTT2_mqttjs_23fbb5be
   FUUID      5e185ba1-f33f-4782-e494-872d5aae6459a9c6
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 33
   MQTT2_FHEM_Server_TIME 2020-01-10 12:39:07
   MSGCNT     33
   NAME       MQTT2_mqttjs_23fbb5be
   NR         341
   STATE      online
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-01-10 12:39:07   battery         100
     2020-01-10 12:10:46   commit          da4d26a
     2020-01-10 12:35:52   contact         true
     2020-01-10 12:10:46   coordinator_meta_maintrel 3
     2020-01-10 12:10:46   coordinator_meta_majorrel 2
     2020-01-10 12:10:46   coordinator_meta_minorrel 6
     2020-01-10 12:10:46   coordinator_meta_product 0
     2020-01-10 12:10:46   coordinator_meta_revision 20190223
     2020-01-10 12:10:46   coordinator_meta_transportrev 2
     2020-01-10 12:10:46   coordinator_type zStack12
     2020-01-10 12:39:07   humidity        52.55
     2020-01-10 12:39:07   linkquality     157
     2020-01-10 12:10:46   log_level       info
     2020-01-10 12:10:46   permit_join     true
     2020-01-10 12:10:46   state           online
     2020-01-10 12:39:07   temperature     23.63
     2020-01-10 12:10:46   version         1.8.0
     2020-01-10 12:39:07   voltage         3005
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList mqttjs_23fbb5be:zigbee2mqtt/bridge/state:.* state
mqttjs_23fbb5be:zigbee2mqtt/0x00158d0002fbf078:.* { json2nameValue($EVENT) }
mqttjs_23fbb5be:zigbee2mqtt/0x00158d000312211a:.* { json2nameValue($EVENT) }
mqttjs_23fbb5be:zigbee2mqtt/bridge/config:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE


rudolfkoenig

ZitatWie bekomme ich das auf die einzelnen Geräte aufgesplittet?
Dafuer muss man den ersten MQTT2_DEVICE als bridge definieren, am einfachsten mit "set mqttjs_23fbb5be attrTemplate zigbee2mqtt_bridge"

TomLee

Die z2m-Einbindung wird auch im Wiki gleich als erstes beschrieben.

Gruß

Thomas

Hausierer

Der entscheidende Hinweis war der von TomLEE. Danke Euch allen.  Ich hatte das 10x gelesen, es war aber im Hirn nicht angekommen. Wenn ein Thema komplett neu ist, sind die Infos einfach zu viele.

Für den nächsten mir diesem Problem, hiermit werden einzelne Geräte angelegt:
attr MQTT2_zigbee_pi bridgeRegexp zigbee2mqtt/([A-Za-z0-9]*)[/]?.*:.* "zigbee_$1"

Trotzdem noch eine Frage, warum habe ich bei anderen (Tasmota) automatisch generierten Geräten immer falsche Zeichen
Hier ein Beispiel:
IODev
MQTT2_FHEM_Server
deleteattr
autocreate
0
deleteattr
deleteattr
icon
hue_filled_outlet
deleteattr
model
tasmota_basic_state_power1
deleteattr
readingList
/smarthome/kueche/sonoff\.steckdose\.1/tele/LWT:.* LWT
  /smarthome/kueche/sonoff\.steckdose\.1/tele/STATE:.* { json2nameValue($EVENT) }
  /smarthome/kueche/sonoff\.steckdose\.1/tele/SENSOR:.* { json2nameValue($EVENT) }
  /smarthome/kueche/sonoff\.steckdose\.1/tele/INFO.:.* { json2nameValue($EVENT) }
  /smarthome/kueche/sonoff\.steckdose\.1/stat/RESULT:.* { json2nameValue($EVENT) }
deleteattr
room
MQTT2_DEVICE
deleteattr
setList
off:noArg    /smarthome/kueche/sonoff\.steckdose\.1/cmnd/POWER1 0
  on:noArg     /smarthome/kueche/sonoff\.steckdose\.1/cmnd/POWER1 1
  toggle:noArg /smarthome/kueche/sonoff\.steckdose\.1/cmnd/POWER1 2
  setOtaUrl:textField /smarthome/kueche/sonoff\.steckdose\.1/cmnd/OtaUrl $EVTPART1
  upgrade:noArg   /smarthome/kueche/sonoff\.steckdose\.1/cmnd/upgrade 1
deleteattr
setStateList
on off toggle
deleteattr
stateFormat
POWER1


Hier sitzen immer diese blöden \ dazwichen: /smarthome/kueche/sonoff\.steckdose\.1/tele/
richtig wäre: /smarthome/kueche/sonoff.steckdose.1/tele/

wie kann ich das vermeiden?

Beta-User

Hast du da Namen mir Leerzeichen im Tasmota-Web-Interface vergeben ("sonoff steckdose 1")?

(Ohne das im Detail auf Zulässigkeit geprüft zu haben, wage ich mal die Aussage, dass man im MQTT-Topictree-Kontext Sonderzeichen allgemein und "Perl/regex-spezielle" Zeichen im Besonderen vermeiden sollte. Mach dafür mal Unterstriche rein, also "sonoff_steckdose_1"...)
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

Hausierer

DAS WAR ES...super vielen Dank für den schnellen und treffenden Hinweis. Ich hatte keine Leerzeichen aber Punkte als Trennung eingesetzt.
Ich habe das nach Deinem Hinweis auf sonoff_steckdose_1 geändert und alles war gut. Wieder etwas gelernt, es ist besser immer auf Sonderzeichen zu verzichten.....

rudolfkoenig

ZitatIch hatte keine Leerzeichen aber Punkte als Trennung eingesetzt.
Ich habe mit Leerzeichen im Topic experimentiert, das erzeugt eine Warnung im Log, was vmtl. keinem auffaellt:MQTT2_test: bad reading name steckdose 1/tele/STATE:.* { json2nameValue($EVENT) } (contains not A-Za-z/\d_\.- or is too long)
Das habe ich jetzt gefixt, es scheint zu tun.

Ein Problem mit Punkt im Topic konnte ich nicht nachvollziehen.

Hausierer

#7
Hallo Rudof,

jetzt sehe ich wieder warum ich bei FHEM gelandet bin. Alles geht so schnell und gut. Ich habe ein Gerät noch mal mit "bösen" Namen versehen. Leerzeichen werden jetzt mit "_" versehen. Der Punkt bringt aber beim mir immer noch Fehler. Ich denke das ist aber egal. Das ist ja ein Sonderzeichen und sollte deshalb nicht genommen werden. (zumindest wenn man intelligenter ist als ich ;-) Danke!!

Grüße
Holger