En el artículo RaspberryPi – Instale el servidor MQTT en RaspberryPi Escribí un poco sobre MQTT y expliqué cómo instalar su propio servidor MQTT en RaspberryPi.
Para que también pueda usar un servidor MQTT de FHEM, todavía tiene que instalar algunos módulos FHEM. He descrito cómo funciona esto y a qué debe prestar atención en el siguiente artículo.
Instrucciones de seguridad
Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/
Enlaces afiliados / enlaces publicitarios
Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂
Requisitos
Antes de comenzar con este artículo, debe haber preparado la RaspberryPi para que pueda accederse a ella a través de la red y controlarse a través de SSH.
Los siguientes tres artículos describen lo que se debe hacer para preparar la RaspberryPi:
RaspberryPi: ¡configuración para nerdiys!
RaspberryPi – ¡La primera configuración!
RaspberryPi: controle el RaspberryPi a través de SSH
Tu propia casa inteligente – instalación e ingreso a FHEM
Mosquitto en Raspberry: instale el servidor MQTT en RaspberryPi
Herramientas necesarias:
-No-
Materiales necesitados:
En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.
Inicie sesión en RaspberryPi a través de SSH
Para comenzar, primero debe iniciar sesión en Rasp Pi con Putty a través de SSH. Cómo hacer esto está en el artículo. RaspberryPi - Controle el RaspberryPi a través de SSH descrito.

Gestión de paquetes de actualización
La gestión de paquetes en Linux es un "lugar central" a través del cual se pueden instalar varios paquetes de software. Para que esto funcione de manera confiable, las listas y fuentes de administración de paquetes deben actualizarse antes de cada instalación de nuevos paquetes.

sudo apt-obtener actualización && sudo apt-obtener actualización



Instalar paquetes Perl MQTT
Para que FHEM pueda comunicarse con el servidor MQTT, se deben instalar dos paquetes de Perl.

sudo apt-get install libmodule-pluggable-perl && sudo cpan install Net::MQTT:Simple && sudo cpan install Net::MQTT:Constantes

Crear clientes MQTT
Para poder establecer una conexión con un dispositivo MQTT en el siguiente paso, primero se debe crear un cliente MQTT. Esto guarda la información necesaria para conectarse al servidor MQTT más tarde.

definir mqttCliente MQTT 192.168.0.1:1883
Der Befehl zum erstellen eines MQTT-Clienten entspricht dabei der folgenden “define Name-des-mqtt-clienten MQTT host-oder-ip-des-mqtt-servers:port-des-servers”. Hat Euer MQTT-Server also die IP-Adresse “192.168.0.1”, den Port 1883 was dem Standardport für MQTT entspricht) so lautet der Befehl zum erstellen des MQTT-Clienten “define mqttClient MQTT 192.168.0.1:1883”. Dabei kann für “mqttClient” natürlich auch jeder andere beliebige Name verwendet werden.

apagar reiniciar
Una vez que el servidor se haya reiniciado, estará listo para crear nuevos puentes y dispositivos MQTT.


Configuración del puente MQTT con un termostato de calefacción MAX!
En este ejemplo, creamos un puente MQTT. Como sugiere el nombre, el puente MQTT conecta algo. En este caso el termostato de calefacción MAX! con el mundo MQTT. En principio, este enlace funciona según el mismo esquema con todos los sensores o actuadores ya instalados. En el caso del MAX! El termostato de calefacción funciona con el siguiente mando.

defineHeatingWorkroomMqtt MQTT_BRIDGE MAX_15504f
Dadurch wird das Modul “HeizungArbeitszimmerMqtt” vom Typ “MQTT_BRIDGE” angelegt und mit dem bereits vorhandenen Modul “MAX_15504f” verknüpft.


Dazu gibt es das Attribut “publishReading_XYZ”. Dieses bewirkt, dass die MQTT-Bridge alle Aktualisierungen auf dem Reading “XYZ” automatisch an das angegebene Topic weitergeleitet wird.

attr HeizArbeitszimmerMqtt publicarReading_temperature heizung/Arbeitszimmer/temperatura
Achtet hierbei darauf, dass “publishReading” und “temperature”(das reading des Heizkörperthermostats(oder jedes anderen Sensors/Aktors)) mit einem Unterstrich verbunden sein müssen. So ergibt sich “publishReading_temperature”.
Für das Reading “Battery” würde das ganze dann folgendermaßen aussehen.
attr HeizArbeitszimmerMqtt publicarLectura_batería heizung/Arbeitszimmer/batería

attr HeizArbeitszimmerMqtt subscribeSet_desiredTemperature heizung/Arbeitszimmer/desiredTemperature
Dies bewirkt, dass das Topic “heizung/Arbeitszimmer/desiredTemperature” aboniert wird und jeder darauf eingehender Wert automatisch in das Reading “desiredTemperature” eingetragen wird. Auf diesem Wege könnt Ihr die gewünschte Temperatur des Heizungsthermostats per MQTT-Nachricht steuern.

Probando el puente MQTT establecido
Aquí se describe una forma de probar el puente MQTT recién creado.
Para ello creé un mini visor MQTT en NodeRed que te muestra los valores para los temas establecidos “heizung/Arbeitszimmer/temperature” y “heizung/Arbeitszimmer/battery” ser enviado. También tienes la opción de adjuntar al tema “heizung/Arbeitszimmer/desiredTemperature” para enviar el valor 25. En consecuencia, si todo funciona correctamente, el termostato del radiador vinculado se establece en 25 °C.


… “desiredTemperature” findet. Dies ist das Reading, dass wir in der Konfiguration der MQTT-Bridge mit dem MQTT-Topic “heizung/Arbeitszimmer/desiredTemperature” han vinculado. El valor actual de la lectura y la hora de la última actualización también se muestran aquí.
Si ahora hace clic en el nodo de inyección en el visor MQTT autoconstruido, está enviando el valor 25 al tema “heizung/Arbeitszimmer/desiredTemperature”. Esto ahora también debería actualizar la lectura de su termostato de calefacción al valor 25. Además, la hora de la última actualización se establece en la hora actual.
Para realizar la prueba en sentido contrario, es decir, la publicación de una lectura modificada en un tema MQTT, basta con desplazarse hasta la parte superior de la vista detallada del termostato de calefacción MAX!. Una vez allí, cambie la temperatura deseada de su termostato de calefacción como se muestra.

Crear un dispositivo MQTT usando un sensor de temperatura como ejemplo
Otra posibilidad del módulo MQTT es la creación de dispositivos MQTT. Esto incluye todos los sensores o dispositivos que envían sus valores medidos directamente a través de MQTT. Para registrar estos valores y resumirlos en un sensor virtual, debe crear un dispositivo MQTT.
In diesem Beispiel haben wir in unserem Netzwerk einen Temperatursensor, der in regelmäßigen Abständen den gemessenen Temperaturwert per MQTT-Topic “Umgebungsdaten/keller/Temp” versendet. Um diesen nun zu erfassen wird zuerst mit folgendem Befehl ein MQTT-Device angelegt.
definir kellerSensor MQTT_DEVICE


Bevor dieses MQTT_Device nun Werte anzeigen kann muss es natürlich zuerst mit dem gewünschten MQTT-Topic verknüpft werden. In diesem Beispiel wollen wir alle auf dem MQTT-Topic “Umgebungsdaten/keller/Temp” eingehenden Werte im erstellten MQTT-Device anzeigen lassen.
Para hacer esto, debe establecer el siguiente atributo:
attr kellerSensor subscribeReading_Temp Datos ambientales/keller/Temp
Dies bewirkt, dass im erstellten MQTT_Device “kellerSensor” das Reading “Temp” erstellt und mit dem abonierten Topic “Umgebungsdaten/keller/Temp” verknüpft wird.

Um die Ansicht nun noch etwas aufzuhübschen könnt Ihr mit folgendem Attribut angeben, dass dem Wert des Readings Temp ein “°C” angehängt werden soll.
attr kellerEstado del sensorFormat Temp °C


Más información
https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung
Diviértete con el proyecto.
Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂
PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂
hola fabuloso
Muchas gracias por toda la información que ha puesto a su disposición aquí. Pasé muchos años con Home Assistant y nada de tiempo con FHEM, que ahora estoy usando para tratar de tener un mejor control de mis dispositivos de calefacción FHT. Si puedo hacer que FHEM se comunique con un servidor MQTT existente, ese sería mi sueño.
Tengo FHEM ejecutándose en el sistema operativo Raspian dentro de un contenedor docker, la instalación se realizó según su consejo sin errores, pero cuando intento ingresar los comandos a través de la interfaz web de FHEM, aparece No se puede cargar el módulo MQTT_BRIDGE o No se puede cargar el módulo MQTT_CLIENT, lo que me hace ¿Piensa que me equivoqué al no instalar perl/mqtt desde el contenedor docker o que no hice nada dentro de FHEM para invocar la nueva capacidad MQTT?
Atentamente
Mella