Hallo zusammen,
ich habe jeweils auf einem bestehenden und einem neu aufgesetzten System einen MQTT2-Server eingerichtet.
Jetzt, nach ca. 10h versuchen, - gebe ich auf und hoffe hier Antworten zu bekommen.
define MQTT2_FHEM_Server MQTT2_SERVER 1883 global
attr MQTT2_FHEM_Server autocreate Simple
attr MQTT2_FHEM_Server verbose 5
Leider werden bei beiden Systemen meine beiden Tasmota-Devices (D1-MINI) nicht erkannt.
Im Hausnetz sind sie präsent, können angewählt und gesteuert werden.
Welche Fehler könnten mir passiert sein?
(ausser, das ich immer noch bei FHEM bleibe)
Achim
Wo kann
Steht denn irgendwas im Log ?
Username/Passwort am MQTT2_Server vergeben aber bei den Tasmotas nicht hinterlegt ?
Gruß
Thomas
Falls Dein MQTT-Server so definiert ist, wie Du ihn hier beschrieben hast, wird wahrscheinlich "autocreate simple" (simple klein geschrieben) Dein Problem lösen.
Weihnachtliche Grüße
Moin,
- Ein Kennwort ist nicht vergeben.
- Den Eintrag bei "Autocreate habe ich von Simple auf simple geändert.
Leider keine Veränderung - Die Geräte werden nicht erkannt
Achim
@KnutWuchtig
Gib doch mal folgenden Befehl in die FHEM-Kommandozeile ein und poste das Ergebnis hier ...
list TYPE=MQTT.* TYPE
Damit Geraete angelegt werden, muss
- ein autocreate device existieren (list TYPE=autocreate). Das gibt es bei der Erstinstallation, viele schalten es aber gerne ab.
- MQTT2_SERVER hat per Voreinstellung "autocreate=simple", d.h. man kann dieses Attribut auch entfernen.
- ich gehe davon aus, das FHEM aktuell ist d.h. update wurde nach der Installation in FHEM ausgefuehrt.
Wenn man den Verdacht hat, dass MQTT2_SERVER sein Dienst nicht richt verrichtet, dann setzt man "attr MQTT2_SERVER verbose 5", und man schaut ins FHEM-Log (evtl. per Event Monitor).
Erst einmal vielen Dank für die schnellen Rückantworten!
Ich habe 2 FHEM-Systeme am Laufen eines davon ist "frisch" aufgesetzt, eines läuft seit 2014 und beide sind upgedatet
Ergebnis :
list "TYPE=MQTT.* TYPE" : MQTT2_FHEM_Server MQTT2_SERVER
-----------------------------------------------------------------------------------
Hier das Listing vom MQTT2-Server:
Internals MQTT2_FHEM_Server:
DEF 1883 global
FD 12
NAME MQTT2_FHEM_Server
NR 541
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
READINGS:
2019-12-22 13:39:04 nrclients 0
2019-12-22 13:39:04 state Initialized
clients:
retain:
Attributes:
autocreate simple
icon mqtt_broker
verbose 5
-----------------------------------------------------------------------------------
und hier vom "autocreate:
Internals "autocreate:"
NAME autocreate
NOTIFYDEV global
NR 2
NTFY_ORDER 50-autocreate
STATE active
TYPE autocreate
Attributes:
room 40_System
Achim
Ich vermute, dass Dir das sogenannte "Grund-Device" fehlt, in dem u.a. das Attribut bridgeRegexp sehr nützlich sein kann.
Minimal wird es bei mir so angelegt:
defmod MQTT2_myMqttServer MQTT2_DEVICE myMqttServer
myMqttServer ist entsprechend Deiner Benamung anzupassen.
Anschließend funktionierte bei mir das autocreate ...
Hallo Achim,
ich behaupte der MQTT2_FHEM_Server hat noch nie einen Client gesehen.
Mach doch in deinem Tasmota mal die Konsole auf (Hauptmenü/Konsole) und schau was er da loggt und ob er sich überhaupt irgendwohin verbindet.
Thomas sein Einwand aus #1 überprüft?
BTW: Codetags bitte: https://forum.fhem.de/index.php/topic,71806.0.html
Gruß Otto
@OdfFhem: bei einem MQTT2_SERVER braucht man fuer Tasmota (und alle anderen "richtigen" MQTT Geraetet) kein bridge Device.
Bridge braucht man
- fuer MQTT2_CLIENT, falls man autocreate haben will
- fuer zigbee2mqtt
@rudolfkoenig
Ich selbst nutze in der Produktion tatsächlich MQTT2_CLIENT; für einen Test mit dem alarm-Device (Thema noch gar nicht so lange her) habe ich aber auf einem bis dahin absolut MQTT2- freien FHEM-Testsystem nur einen MQTT2_SERVER angelegt und via mosquitto_pub "beschickt".
Die Nachricht kam an und wurde via verbose 5 auch "sichtbar" gemacht; ein autocreate wurde aber nachweislich nie erfolgreich abgeschlossen. Erst nachdem bereits irgendein beliebiges MQTT2_DEVICE definiert war, wurden auch neue MQTT2_DEVICEs autocreated.
Ich hatte das (eigentlich sinnfreie) "irgendein"-Device später dann um einen bridgeRegexp erweitert, um auf die ständig wechselnde ClientId zu reagieren. Ergebnis war, dass es auch für neue Subtopics klappte und die readingList im passenden Device automatisch erweitert wurde.
Ist meine Beobachtung/Interpretation falsch oder ist es anders gedacht?
Zitat von: OdfFhem am 22 Dezember 2019, 20:31:36
mosquitto_pub "beschickt".
hast Du da eine CID gesetzt (Parameter -i) oder nicht? Wenn nicht setzt mosquitto_pub eine zufällige CID und damit legt der MQTT2 Server keine neuen Device an. ;) (ich hoffe ich habe das richtig wiedergegeben)
Gruß Otto
@Otto123
In dem Beitrag zum alarm-Device ging es darum, dass Nachrichten bei jedem Senden mit einer anderen ClientId verschickt wurden.
Die beispielhaft verwendeten ClientIds wurden auch im Beitrag angeführt und folglich habe ich genau das geschilderte Szenario mit -i durchgespielt.
Link zum Beitrag: https://forum.fhem.de/index.php/topic,106095.0.html (https://forum.fhem.de/index.php/topic,106095.0.html)
Also bei mir geht das nur mit einen Client der mit dem Broker verbunden ist.. und hier auch nur mit basicAuth <username> <password>.
Vermute das das einfach fehlt.
Ich brauch doch für eine MQTT Verbindung einen Benutzer und Passwort. Und der Verfasser schreibt er hat kein Passwort?
Mein erster Versuch mit MQTT waren zwei Zeilen Code:
define mqtt2s MQTT2_SERVER 1883 global
mosquitto_pub -h raspib2 -i COMPUTER -t CPU/raspib/temperature -m 22
Danach hatte ich ein MQTT2 Device MQTT2_COMPUTER :)
Danach habe ich Tasmota Geräte verbunden - da wurden auch sofort Geräte angelegt. Ohne irgendein "Grunddevice".
Das war meine Beobachtung, bei dir muss also was anders gelaufen sein.
Zitat von: moerte am 22 Dezember 2019, 21:39:29
Ich brauch doch für eine MQTT Verbindung einen Benutzer und Passwort.
Nein es geht auch ohne
@Otto123
Da muss ich mir morgen noch mal meine Aufzeichnungen anschauen und versuchen, das bzw. mein Problem nachzuvollziehen ...
"defmod MQTT2_myMqttServer MQTT2_DEVICE myMqttServer"
hat auch keinen Effekt.
Zu der Antwort von Otto123: Heißt das, das trotz Mqtt2 noch der Mosquitto oder ein anderer Broker installiert werden muss?
(tschuldigung, falls ich zu blöd bin)
Zu der Passwortfrage:
Ich habe kein Passwort vergeben. Wie schon gesagt, die Tasmotas funktionieren über ihre Bedienoberfläche per Wlan einwandfrei ohne eine Passwortnachfrage.
Sollte, FALLS ein Device in FHEM angelegt wurde, nicht dann automatisch eine Nachfrage zum Passwort kommen?
ODER---
liegt das evtl. an den Tasmotas?
Evtl. Konflikte mit der Firmware (7.1.2 (tasmota)).
Achim
Nein man braucht nur MQTT2 - ich habe lediglich von einer anderen Maschine mit mosquitto getestet.
Nochmal:
Tasmota -> Konsole -> Log ??? Ausgabe einfach mal posten :)
Bevor wir hier noch bis Neujahr rätseln. ::)
BTW: es geht nicht um den Zugang zur Weboberfläche.
Dieser WEB Zugang, die Konfiguration von MQTT in Tasmota und die Vergabe eines Kontos dort sowie die Einrichtung eines gesicherten Zuganges zu einem FHEM MQTT2 sind drei völlig getrennte Dinge. ;)
Hast du denn mittlerweile mal in einem deiner beiden Wemos Devices auf der Tasmota-Oberfläche unter Konsole geschaut was da genau ausgegeben wird ?
Stimmt denn die IP-Adresse MQTT HOST in deinem ersten Beitrag in dem Screenshot?
Gruß
Thomas
In der Konsole wird bei beiden Devices folgendes ausgegeben:
1.
00:00:00 CFG: aus Flash geladen am F6, zählen 78
00:00:00 Projekt tasmota Tasmota02 Version 7.1.2(tasmota)-2_6_1
00:00:00 WIF: verbinden mit AP1 (meinROUTER) in Modus 11N als tasmota-0998...
(hier hatte ich es mit einem anderen DeviceNamen probiert)
00:00:05 WIF: verbunden
00:00:05 HTP: Web-Server aktiv bei tasmota-0998 mit IP-Adresse 192.168.178.70
23:35:39 MQT: Verbindungsversuch...
23:35:44 MQT: Verbindung fehlgeschlagen aufgrund von 192.168.178.70:1883, rc -2. Wiederversuch in 10 s
23:35:55 MQT: Verbindungsversuch...
2
00:00:00 CFG: aus Flash geladen am F8, zählen 116
00:00:00 Projekt tasmota Tasmota01 Version 7.1.2(tasmota)-2_6_1
00:00:00 WIF: verbinden mit AP1 (meinRouter) in Modus 11N als DVES_E84574-1396...
00:00:05 WIF: verbunden
00:00:05 HTP: Web-Server aktiv bei DVES_E84574-1396 mit IP-Adresse 192.168.178.66
23:34:25 MQT: Verbindungsversuch...
23:34:30 MQT: Verbindung fehlgeschlagen aufgrund von 192.168.178.66:1883, rc -2. Wiederversuch in 10 s
IP´s passen wie im Ausdruck
Achim
Also bei mir steht:
00:00:07 HTP: Web-Server aktiv bei tasmota-4810 mit IP-Adresse 192.168.178.163
00:05:33 MQT: Verbindungsversuch...
00:05:33 MQT: verbunden
Wenn ich meinen MQTT2 Server beende steht dort:
00:09:03 MQT: Verbindungsversuch...
00:09:03 MQT: Verbindung fehlgeschlagen aufgrund von raspib:1883, rc -2. Wiederversuch in 10 s
Fällt Dir was auf?
Du hast bei MQTT Server offenbar die IP Adresse des Tasmota Gerätes und nicht die des Servers eingetragen?
Du bist GENIAL!
IP-Adresse im Tasmota auf die des Raspis geändert und - funzt.
VIELEN Dank.
Achim