FHEM startet nicht durch, wenn MQTT-Device vorhanden ist

Begonnen von RoBra81, 21 Oktober 2015, 15:10:30

Vorheriges Thema - Nächstes Thema

RoBra81

Hallo,

ich bin gerade dabei, mir ein paar eigene Sensoren mit MySensors zu basteln. Da ich meine irgendwo gelesen zu haben, dass ein MQTT-Gateway besser wäre als ein Ethernet-Gateway wollte ich es damit versuchen. Ich habe es mit etwas Versuch und Irrtum auch hinbekommen und habe einen Sensor erfolgreich mit FHEM über MySensors-MQTT-Gateway verbinden können. Ich war stolz und glücklich :) - bis zum nächsten Neustart von FHEM, der nämlich nicht funktionierte :(
Nach vielen probieren habe ich herausgefunden, dass der FHEM-Neustart scheitert (FHEM bleibt irgendwo unerreichbar hängen mit mittelhoher CPU-Auslastung), sobald ich ein MQTT-Device erstelle UND dieses auf den Sensor subscribe. Meine aktuelle Lösung ist dann, die 10_MQTT_DEVICE.pm umzubennen (.old) und FHEM neu zu starten. Dann kann ich die ConfigDB ohne das MQTT-Device speichern und FHEM startet auch wieder mit 10_MQTT_DEVICE.pm. Wenn ich anschließend das Device wieder anlege erhalte ich auch wieder Werte vom Sensor - bis zum nächsten Neustart :(
Das MQTT-Device bleibt beim Starten scheinbar im Status "subscribtion sent" stehen...

Hier meine Definitionen:
define MySensorsMQTT MQTT 192.168.18.3:1883
attr MySensorsMQTT room MySensors
define MySensorsMQTTDevice MQTT_DEVICE
attr MySensorsMQTTDevice IODev MySensorsMQTT
attr MySensorsMQTTDevice room MySensors
attr MySensorsMQTTDevice stateFormat transmission-state
attr MySensorsMQTTDevice subscribeReading_power MyMQTT/20/255/V_
attr MySensorsMQTTDevice subscribeReading_sash1 MyMQTT/20/1/V_TRIPPED
attr MySensorsMQTTDevice subscribeReading_sash2 MyMQTT/20/2/V_TRIPPED
attr MySensorsMQTTDevice subscribeReading_sash3 MyMQTT/20/3/V_TRIPPED
attr MySensorsMQTTDevice subscribeReading_sash4 MyMQTT/20/4/V_TRIPPED
attr MySensorsMQTTDevice subscribeReading_sketch MyMQTT/20/255/V_SKETCH_NAME


Hat jemand eine Idee, woran es liegen könnte?

Ronny

RoBra81

Keiner eine Idee? Ich würde gern meinen MySensors-Fensterkontakt in Betrieb nehmen...

Kuzl

Hallo,
evtl ist das Problem der unvollständige MQTT-Broker im MQTT-Gateway. Installier dir mal einen vollständigen Broker (z.b. mosquito) und spiele den Sketch von hier im Forum auf, der auf MQTT-Client umgschrieben worden ist. Das ist sauberer.

Gruß,
Kuzl

RoBra81

Hallo,

vielen Dank für deine Antwort. Ich habe mir mal Mosquitto installiert, komme aber nicht wirklich weiter, wie ich dies jetzt quasi als Bridge zwischen FHEM und MySensors MQTT-Gateway nutzen kann. Kannst du mir vielleicht einen Hinweis geben, wie ich Mosquitto für diesen Zweck konfigurieren muss und wo ich den angesprochenen Sketch finde?

Ronny

Kuzl

Hallo,

irgendwie finde ich den Sketch nicht mehr, hab jetzt ne ganze Zeit lang erfolglos gesucht. Ich hätte gedacht ntruchsess hatte da mal was gemacht, kannst ihn mal per pm anschreiben. Ansonsten kannst du es natürlich mit dem Ethernetgateway probieren

Gruß,
Kuzl

SvenJust

Hallo!

Zitat von: Kuzl am 24 Oktober 2015, 22:00:01
irgendwie finde ich den Sketch nicht mehr, hab jetzt ne ganze Zeit lang erfolglos gesucht. Ich hätte gedacht ntruchsess hatte da mal was gemacht, kannst ihn mal per pm anschreiben. Ansonsten kannst du es natürlich mit dem Ethernetgateway probieren

Du suchst diesen Sketch? http://forum.mysensors.org/topic/524/mqtt-client-gateway

VG
Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Kuzl

Ja! ganz genau den mein ich, danke.

Wenn du allerdings MQTT nicht noch für was anderes benützt, kannst du auch direkt ein Gateway in FHEM einbinden. Z.B das ESP8266Gateway oder das normale Ethernet-Gateway.

RoBra81

Zitat von: Kuzl am 26 Oktober 2015, 07:46:43
Wenn du allerdings MQTT nicht noch für was anderes benützt, kannst du auch direkt ein Gateway in FHEM einbinden. Z.B das ESP8266Gateway oder das normale Ethernet-Gateway.

So habe ich es jetzt auch gemacht. Hatte nur irgendwo gelesen, dass MQTT besser wäre und da wollte ich es halt damit probieren...

Vielen Dank für eure Hilfe!
Ronny