AQARA (Xiaomi) Geräte in homee - Zigbee2mqtt/NodRed/Enocean Simulation

Gib mal Zigbee2MQTT bei Ebay ein… da solltest du fündig werden. :wink:

1 „Gefällt mir“

Hier noch einer mit Gehäuse:

1 „Gefällt mir“

Prima. Danke. Ist bestellt. :slight_smile:

Wie sind die Sticks denn von der Reichweite her? Mein Pi steht im Arbeitszimmer im OG.

Quasi direkt über der Haustür. Da soll schon mal einer der Sensoren hin.

Die anderen Sensoren sollen im EG im Wohnzimmer an die Terrassentüren. Luftlinie ca. 10m entfernt und halt ein Stockwerk tiefer als der Pi.

Ich würde auf jeden Fall, je nach Mauerwerk, noch 1 bis 2 Plugs als Repeater zwischen dem Pi und den Sensoren installieren

Ok, danke. Werde berichten. Notfalls kann ich den Pi auch ins EG stellen.

Werd das einfach mal ausprobieren. Welche Plugs sind denn gute Zigbee-Repeater? Die Osrams?

Alle Zigbee-Geräte, die mit Dauerstrom (nicht Batterie) versorgt werden, leiten die Signale im Mesh weiter. Die OSRAM-Plugs sind diesbezüglich eher schwachbrüstig. Empfohlen werden die Repeater von IKEA:

2 „Gefällt mir“

Ah, super. Das passt gut. Muss eh noch zu IKEA und hab da noch zwei Gutscheine. :slight_smile:

Ich könnte evtl. auch günstig an Aqara-Temperatursensoren kommen.

Könnte mir da dann jmd. wieder beim Node Red Flow helfen?

Hab ein Angebot bekommen für:

  • 4 Fenstersensoren
  • 2 Temperatursensoren

für gerade mal 45 €.

Flows hab ich für beide,

die Zigbee-Reichweite fand ich nicht so überzeugend…

1 „Gefällt mir“

Alles klar. Wenn ich alles zusammen hab werd ich mich dann hier noch mal melden.

So, heute kamen meine Sensoren (6 Stück für insgesamt gerade mal 45 €) und der Stick.

Einrichtung war in der Tat sehr einfach und das Einlernen der Geräte ein Kinderspiel.
Hat mich knapp ne halbe Stunde gekostet und jetzt hab ich 6 neue Sensoren im System. :slightly_smiling_face:

Wird auch alles wie gewünscht mit Homekit synchronisiert.

Dazu sind die Sensoren wirklich sehr schick, unauffällig und top verarbeitet.

Werd mir noch mehr davon besorgen.

Ich brauche übrigens keine Plugs als Zigbee-Repeater. Der Stick steht im OG im Arbeitszimmer und erreicht sogar den Sensor im Briefkasten und in der Garage. :sunglasses:

Vielen Dank @medicus07 für das Tutorial. :slightly_smiling_face:

2 „Gefällt mir“

So, die Ladestände der Batterien hab ich jetzt auch in homee:

Die Werte werden als „battery“ von zigbee2mqtt übermittelt:

Oct 24 14:32:28 raspberrypi npm[8149]: Zigbee2MQTT:info  2020-10-24 14:32:28: MQTT publish: topic 'zigbee2mqtt/0x00158d00045be693', payload '{"battery":91,"humidity":50.47,"linkquality":28,"pressure":970.3,"temperature":22.62,"voltage":2
Oct 24 14:32:28 raspberrypi npm[8149]: Zigbee2MQTT:info  2020-10-24 14:32:28: MQTT publish: topic 'zigbee2mqtt/0x00158d00046065ad', payload '{"battery":91,"humidity":50.91,"linkquality":18,"pressure":968.2,"temperature":22.17,"voltage":2
Oct 24 14:32:28 raspberrypi npm[8149]: Zigbee2MQTT:info  2020-10-24 14:32:28: MQTT publish: topic 'zigbee2mqtt/0x00158d000485228f', payload '{"battery":100,"contact":true,"linkquality":76,"voltage":3075}'
Oct 24 14:32:28 raspberrypi npm[8149]: Zigbee2MQTT:info  2020-10-24 14:32:28: MQTT publish: topic 'zigbee2mqtt/0x00158d0004a047c3', payload '{"battery":100,"contact":true,"linkquality":57,"voltage":3015}'
Oct 24 14:32:28 raspberrypi npm[8149]: Zigbee2MQTT:info  2020-10-24 14:32:28: MQTT publish: topic 'zigbee2mqtt/0x00158d00034d55c4', payload '{"battery":97,"contact":true,"linkquality":55,"voltage":2995}'
Oct 24 14:32:28 raspberrypi npm[8149]: Zigbee2MQTT:info  2020-10-24 14:32:28: MQTT publish: topic 'zigbee2mqtt/0x00158d00035c2725', payload '{"battery":100,"contact":false,"linkquality":23,"voltage":3005}'

Hallo zusammen, ich glaube ich hänge mich hier mal ran.
Die Bezeichnung des Threads passt ja, wenn es doch falsch sein sollte Bitte verschieben.

Bin seit geraumer Zeit dabei mich in das Thema virtuelle Geräte einzulesen und damit zu beschäftigen. Leider bin ich was das Programmieren und so angeht mehr als ein blutiger Anfänger und stoße somit auch immer wieder schnell auf Probleme :slightly_frowning_face:.
Aktuell versuche ich den Aqara Temp Sensor via MQTT in NodRed einzubinden, bekomme es aber nicht hin. Ich hoffe dass mir jemand dabei helfen kann.

Was ich schon habe:
PI3B+ und Conbee2
IO Broker mit Node Red und 2 MQTT Instanzen 1* als Broker 1* Client (alles aktuell)
Flow von Homeean für Temp.sensor und BWM, in der MQTT Node habe ich die IP und das Topic abgeändert, im Device Node, die IP des vHomee, den Namen sowie die Node-ID angepasst.

MQTT Node wird als verbunden angezeigt, Device Node ist auch grün.
Soweit so gut, nur wie bekomme ich die Werte des Sensors in den MQTT Adapter in IO Broker bzw. was muss ich beim Client bei subscribe patterns eintragen, ich kapier das noch nicht so richtig?
Oder liegt mein Fehler ganz woanders?
Hier mal ein Screenshot des Clients:

Wenn Du doch den Conbee2, ioB und NR hast, brauchst Du doch kein MQTT?!
Mit einem deConz oder Zigbee Adapter hast Du doch alle Datenpunkte in ioB und kannst sie in NR heranziehen.

Sorry hab im Moment Spätschicht kann dann abends nicht schreiben.

naja wie gesagt, bin ich was das Programmieren angeht noch am Anfang.
Ich habe hier schon viel gelesen, aber aufgrund meines niedrigen Kenntnisstandes verstehe ich halt immer nur ein bischen.
Im Wiki habe ich glaub gelesen, dass man mal mit den Flows von Homeean anfangen soll um etwas besser in das Thema rein zu kommen. So bin ich auf das Thema MQTT gekommen :man_shrugging:

@pino73
hättest Du evtl. nen Flow für die Sensoren ohne MQTT für mich? Ich tu mich mit JS noch schwer…

Für welchen Sensor denn?

Bitteschön, hier ein Flow für den Aqara Temperatur- und Luftfeuchtesensor:

[
    {
        "id": "f6dfaa6f.aa028",
        "type": "tab",
        "label": "Aqara TH Sensor Flur OG (220)",
        "disabled": false,
        "info": ""
    },
    {
        "id": "ff59073b.ea3ab",
        "type": "ioBroker in",
        "z": "f6dfaa6f.aa028",
        "name": "Aqara TH Temperature",
        "topic": "zigbee.0.00158d000273a138.temperature",
        "payloadType": "value",
        "onlyack": false,
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 160,
        "y": 140,
        "wires": [
            [
                "d997ada4.2633a"
            ]
        ]
    },
    {
        "id": "2777f1d9.87be16",
        "type": "ioBroker in",
        "z": "f6dfaa6f.aa028",
        "name": "Aqara TH Humidity",
        "topic": "zigbee.0.00158d000273a138.humidity",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 150,
        "y": 200,
        "wires": [
            [
                "79419c0f.50556c"
            ]
        ]
    },
    {
        "id": "b93e58f4.40523",
        "type": "ioBroker in",
        "z": "f6dfaa6f.aa028",
        "name": "Aqara TH Link quality",
        "topic": "zigbee.0.00158d000273a138.link_quality",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 160,
        "y": 320,
        "wires": [
            [
                "2eae465d.e512ea"
            ]
        ]
    },
    {
        "id": "2eae465d.e512ea",
        "type": "function",
        "z": "f6dfaa6f.aa028",
        "name": "Set Link Quality",
        "func": "var level=parseInt(msg.payload);\n\n// Verbindungsqualität von dbm in 0-4 umrechnen\nif (level > 90) {\n   level = 4\n}\nelse if (level > 80) {\n    level = 3\n}\nelse if (level > 60) {\n    level = 2\n}\nelse if (level > 40) {\n    level = 1\n}\nelse {\n    level = 0\n}\nmsg.payload = {\"attribute\":{ \"id\":224, \"value\": level}};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 380,
        "y": 320,
        "wires": [
            [
                "d092541c.6e9df"
            ]
        ]
    },
    {
        "id": "d997ada4.2633a",
        "type": "template",
        "z": "f6dfaa6f.aa028",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"attribute\":{\"id\":221,\"value\":{{payload}}}}",
        "output": "json",
        "x": 380,
        "y": 140,
        "wires": [
            [
                "d092541c.6e9df"
            ]
        ]
    },
    {
        "id": "79419c0f.50556c",
        "type": "template",
        "z": "f6dfaa6f.aa028",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"attribute\":{\"id\":222,\"value\":{{payload}}}}",
        "output": "json",
        "x": 380,
        "y": 200,
        "wires": [
            [
                "d092541c.6e9df"
            ]
        ]
    },
    {
        "id": "d092541c.6e9df",
        "type": "homeeDevice",
        "z": "f6dfaa6f.aa028",
        "virtual-homee": "",
        "name": "Aqara TH Sensor Flur OG",
        "nodeId": "220",
        "showNodeId": true,
        "profile": "3001",
        "icon": "default",
        "attributes": [
            {
                "instance": 0,
                "minimum": -20,
                "maximum": 50,
                "current_value": 0,
                "target_value": 0,
                "last_value": 1,
                "unit": "%C2%B0C",
                "step_value": 0.1,
                "editable": 0,
                "state": 1,
                "last_changed": 1570085457,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "type": 5,
                "id": 221,
                "node_id": 220
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 100,
                "current_value": 0,
                "target_value": 0,
                "last_value": 1,
                "unit": "%25",
                "step_value": 0.1,
                "editable": 0,
                "state": 1,
                "last_changed": 1570085457,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "data": "",
                "type": 7,
                "id": 222,
                "node_id": 220
            },
            {
                "type": 94,
                "state": 1,
                "instance": 0,
                "minimum": 300,
                "maximum": 1100,
                "current_value": 0,
                "target_value": 0,
                "last_value": 0,
                "data": "",
                "name": "",
                "unit": "hPa",
                "step_value": 5,
                "editable": 0,
                "last_changed": 1607255665,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 1,
                "options": [],
                "id": 223,
                "node_id": 220
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 4,
                "current_value": 3,
                "target_value": 3,
                "last_value": 3,
                "unit": "n%2Fa",
                "step_value": 1,
                "editable": 0,
                "state": 1,
                "last_changed": 1572634009,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 4,
                "data": "RSSI",
                "type": 33,
                "id": 224,
                "node_id": 220
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 100,
                "current_value": 30,
                "target_value": 1,
                "last_value": 1,
                "unit": "%25",
                "step_value": 1,
                "editable": 0,
                "state": 1,
                "last_changed": 1572634009,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 4,
                "data": "",
                "type": 8,
                "id": 225,
                "node_id": 220
            },
            {
                "instance": 0,
                "minimum": 0,
                "maximum": 4,
                "current_value": 1,
                "target_value": 1,
                "last_value": 1,
                "unit": "V",
                "step_value": 0.1,
                "editable": 0,
                "state": 1,
                "last_changed": 1572634009,
                "changed_by": 1,
                "changed_by_id": 0,
                "based_on": 4,
                "data": "",
                "type": 195,
                "id": 226,
                "node_id": 220
            }
        ],
        "statusTemplate": "",
        "x": 690,
        "y": 200,
        "wires": [
            []
        ]
    },
    {
        "id": "54bda931.0caa4",
        "type": "ioBroker in",
        "z": "f6dfaa6f.aa028",
        "name": "Aqara TH Battery percent",
        "topic": "zigbee.0.00158d000273a138.battery",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 170,
        "y": 380,
        "wires": [
            [
                "8eddc4be.c3b488"
            ]
        ]
    },
    {
        "id": "8eddc4be.c3b488",
        "type": "template",
        "z": "f6dfaa6f.aa028",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"attribute\":{\"id\":225,\"value\":{{payload}}}}",
        "output": "json",
        "x": 380,
        "y": 380,
        "wires": [
            [
                "d092541c.6e9df"
            ]
        ]
    },
    {
        "id": "a166e488.b4dfb",
        "type": "ioBroker in",
        "z": "f6dfaa6f.aa028",
        "name": "Aqara TH Battery voltage",
        "topic": "zigbee.0.00158d000273a138.voltage",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 170,
        "y": 440,
        "wires": [
            [
                "70b2d585.bf502c"
            ]
        ]
    },
    {
        "id": "70b2d585.bf502c",
        "type": "template",
        "z": "f6dfaa6f.aa028",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"attribute\":{\"id\":226,\"value\":{{payload}}}}",
        "output": "json",
        "x": 380,
        "y": 440,
        "wires": [
            [
                "d092541c.6e9df"
            ]
        ]
    },
    {
        "id": "52477805.b47e",
        "type": "template",
        "z": "f6dfaa6f.aa028",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"attribute\":{\"id\":223,\"value\":{{payload}}}}",
        "output": "json",
        "x": 380,
        "y": 260,
        "wires": [
            [
                "d092541c.6e9df"
            ]
        ]
    },
    {
        "id": "ddf3e01.728232",
        "type": "change",
        "z": "f6dfaa6f.aa028",
        "name": "",
        "rules": [
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "true",
                "fromt": "str",
                "to": "{\"state\":1}",
                "tot": "json"
            },
            {
                "t": "change",
                "p": "payload",
                "pt": "msg",
                "from": "false",
                "fromt": "str",
                "to": "{\"state\":2}",
                "tot": "json"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 380,
        "y": 500,
        "wires": [
            [
                "d092541c.6e9df"
            ]
        ]
    },
    {
        "id": "e6418635.c2b09",
        "type": "ioBroker in",
        "z": "f6dfaa6f.aa028",
        "name": "Aqara TH Pressure",
        "topic": "zigbee.0.00158d000273a138.pressure",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 150,
        "y": 260,
        "wires": [
            [
                "52477805.b47e"
            ]
        ]
    },
    {
        "id": "f227b864.9c291",
        "type": "ioBroker in",
        "z": "f6dfaa6f.aa028",
        "name": "Aqara TH Available",
        "topic": "zigbee.0.00158d000273a138.available",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "fireOnStart": "true",
        "x": 150,
        "y": 500,
        "wires": [
            [
                "ddf3e01.728232"
            ]
        ]
    }
]

vielen Dank dafür