FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Pnemenz am 08 April 2017, 22:51:54

Titel: MQTT Device verbindet nicht zu Mosqitto
Beitrag von: Pnemenz am 08 April 2017, 22:51:54
Ich habe an einem Arduino Uno WiFi 2 Sensoren, deren Readings ich mit MQTT in FHEM einbinden will. Mosquitto läuft bei mir, die Messdaten kommen dort auch an. Das habe ich mit dem Command Line Tool mosquitto_sub überprüft.
Es gelingt mir nicht, das MQTT Device zum laufen zu bringen.
Mein MQTT sieht so aus:
define mosqito MQTT localhost:1883
attr mosqito room MQTT

dazu habe ich ein Device für die Sensoren versucht zu definieren:
define soilsensor MQTT_DEVICE
attr soilsensor IODev mosqito
attr soilsensor autoSubscribeReadings arduino/analog/+
attr soilsensor room MQTT
attr soilsensor stateFormat transmission-state

Wenn ich versuche das MQTT mit dem Broker zu verbinden bekommen ich im FHEM Log:
2017.04.08 22:11:48.156 1: localhost:1883 disconnected, waiting to reappear (mosqito)
2017.04.08 22:11:48.162 1: localhost:1883 reappeared (mosqito)

Das mosquitto Log enthält eine Unmenge an Einträgen wie:
1491682076: New client connected from 127.0.0.1 as NetMQTTpm9087 (c1, k60).
1491682076: Empty subscription string from 127.0.0.1, disconnecting.
1491682076: Socket error on client NetMQTTpm9087, disconnecting.

Was muss ich machen, damit sich FHEM richtig mit mosquitto verbindet?

Peter
Titel: Antw:MQTT Device verbindet nicht zu Mosqitto
Beitrag von: Rince am 09 April 2017, 09:15:12
Lass mal das autoSubscribeReadings weg.
Dann lege dir mal eine Subscription von Hand an. Wenn du das gemacht hast, was passiert dann?
Titel: Antw:MQTT Device verbindet nicht zu Mosqitto
Beitrag von: Pnemenz am 09 April 2017, 09:29:19
Wie lege ich das Reading mit das Webinterface an?
attr soilsensor subscribeReading_.* arduino/analog/A1
führt zum selben Ergebis: keine Verbindung

ebenso
attr soilsensor subscribeReading_A1 arduino/analog/A1
kein Unterschied.
Titel: Antw:MQTT Device verbindet nicht zu Mosqitto
Beitrag von: Pnemenz am 09 April 2017, 09:42:32
UPDATE:
nach einem shutdown restart funktioniert es.
der Befehl set <name> connect im MQTT funktioniert nicht sondern führt zu den Fehlern.

Wäre es möglich das Anlegen der Readings im Webinterface zu ermöglichen?
Nachdem ich im Webinterface
subscribeReading_.* ausgewählt hatte, hatte ich ein reading
.* in dem die Daten ankamen.

Man muss derzeit die Readings über die Befehlszeile erzeugen.