[Beispiel] MQTT Heizen und Saugen mit Virtuelle Devices

Beschreibung:
Ich habe hier mal 2 Beispiele rausgesucht an denen ich eine Verbindung Smartha MQTT und Virtual Devices erkläre.

  1. Zigbee2Mqtt eines Heizkörper Thermostates
  2. Fenster Sensor ( 2 Fenster Sensoren nutzen um Kippstellung zu erkennen )
  3. Ein Xiaomi Rockrobo V1. etwas Größeres damit ihr seht was alles geht
    (mit Valetudo Firmware)

 

Vorraussetzung:

Paket/APP Version
MQTT GERÄTE *

 

Schwirigkeitsgrad:
  :eight_spoked_asterisk: :eight_spoked_asterisk: :eight_spoked_asterisk: :asterisk: :asterisk:
 
 

Was ist MQTT
MQTT ist ein Nachrichten Protokoll das gerne für Smarthome verwendet wird.Dabei senden die jeweiligen Geräte ihre Daten an einen MQTT Broker ( Server ). Im Grunde kann man sich das wie ein normaler Messenger Vorstellen,Person A sendet an Person B eine Nachricht. In diesem Fall kommunizieren nur die Geräte untereinander.

Der Aufbau eines MQTT Topics hat normalerweise PREFIX/TOPIC als Schreibweise.
Als Beispiel:
Ein Temperatur Sensor der seine Temperatur an Smarthome/Temperatur sendet.Bei diesem wird in der MQTT Node als Topic ( Deutsch Thema ) angegeben.Allerdings solltet Ihr beachten das ein Topic einem Datenpunkt, oder auch wie in unserem Beispiel eine Json Nachricht entsprechen kann. Genauso verhält es sich auch beim Senden.

image

Zusätzlich zu erwähnen ist das die Smartha einen MQTT Broker mitliefert. Das nur kurz zu MQTT :).
 
 
Zigbee2Mqtt zu heizung und Fenster Sensor
image

Für dieses Beispiel nutze ich Folgende Virtual Devices:
VirtualThermostat (Thermostat)
VirtualWindowContactTwoTilted (Fenster Sensor )

Zigbee2MQTT Thermostat:
Das Ankomende Json Paket des Termostat’s:

{
    "auto_lock": "MANUAL",
    "away_mode": "OFF",
    "away_preset_days": 1,
    "away_preset_temperature": 15,
    "battery_low": true,
    "boost_time": 300,
    "child_lock": "UNLOCK",
    "comfort_temperature": 18,
    "current_heating_setpoint": 9,
    "eco_temperature": 15,
    "force": "normal",
    "last_seen": 1638540224522,
    "local_temperature": 12.5,
    "local_temperature_calibration": -1,
    "max_temperature": 35,
    "min_temperature": 5,
    "position": 0,
    "preset": "manual",
    "system_mode": "auto",
    "update": {
        "state": "available"
    },
    "update_available": true,
    "week": "5+2",
    "window_detection": "OFF",
    "window_detection_params": {
        "minutes": 224,
        "temperature": 122
    }
    ]
}

Praktisch hierfür ist die Node Json-device-Wrapper da in diesen fall lediglich die einzelnen Datenpunkte verknüpft werden. Und schon werden alle ankommenden Daten immer wieder in das Device geschrieben.

image

 
 
image

{"current_heating_setpoint":{{payload}}}

Beim senden an ein Gerät bzw. MQTT Topic, muss der Flow eine dem Geräte entsprechende Nachricht an den Mqtt Broker senden. Hier gilt wieder der Topic kann entweder einen Datenpunkt, oder ein ganzes Json enthalten. Ihr solltet daher immer nachsehen was bei euch der Fall ist.

 

Die 2 Fenster Sensoren
Das Ankomende Json Paket eines Fenster von einem Sensor also einfach x2 vorstellen :sweat_smile:.

{
    "battery": 44,
    "contact": true,
    "last_seen": 1669720608331,
    "linkquality": 72,
    "power_outage_count": 114,
    "voltage": 3005
}

Mit dem VirtualWindowContactTwoTilted habt Ihr die Möglichkeit 2 Fenster Sensoren (was ich cool finde :sweat_smile:), wo sich einer Oben und einer Unten am Fenster befindet, zu verknüpfen. Dadurch kann dann erkannt werden ob das Fenster offen, oder Gekippt ist. Zudem habe ich hier nicht den Json-Device-Wrapper verwendet, sondern ein Json-Switch um euch eine weitere Möglichkeit zu zeigen.

image

Der Json-Swicht funktioniert ähnlich wie der Json-Device-Wrapper. Lediglich werden hier nur die Daten sortiert und nicht direkt in das VirtuelleDevice geschrieben.
 
 
Nutzung eines Xiaomi Vaccum Cleaners mit Angepasster Firmware
image
Für dieses Beispiel nutze ich Folgende Virtual Devices:
VirtualVacuum (Xiaomi Staubsauger)

So hier kommt jetzt keine Lange Erklärung das wäre mir zu viel Arbeit :stuck_out_tongue_winking_eye:. Ich wollte nur mal ein Komplexes Beispiel zeigen was alles mit VirtuellenDevices möglich ist. Und ob Ihr es glaubt oder nicht das funktioniert fast genauso wie die Oben beschriebenen Beispiele. Zum unteren Teil die Wochen Schltung komme ich das nächste mal, da geht es um den Missbrauch von Nodes.

Wie immer Viel Spaß
Gruß
Michael
 


Weitere Beispiele Link
Und hier findest Ihr Video Tutorials Link

2 „Gefällt mir“