Hauptmenü

mqtt2 tasmota autocreate

Begonnen von karo, 06 November 2019, 22:04:33

Vorheriges Thema - Nächstes Thema

karo

Guten Tag zusammen,
ich scheitere aktuell an einer Konfiguration, die ich für einfach hielt :-(
Ich habe einige Gosund Steckdosen SP112 mit Tasmota geflasht (6.6.0(release-sonoff)).
Das Webinterface arbeitet problemlos. mqtt ist konfiguriert wie in
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#MQTT2_DEVICE
beschrieben. Erstelle ich ein Server-Device mit define MQTT2S MQTT2_SERVER 1883 global
und setze autocreate auf simple, dann wird ein zusätzliches Device automatisch angelegt: MQTT2S_192.168.0.225_10805
Auch dort habe ich autocreate auf simple gesetzt aber es passiert nichts. Ich habe die Dose ein
paar mal geschaltet.

Starte ich die Dose über das Webinterface neu, verschwindet der Eintrag MQTT2S_192.168.0.225_10805

Wenn ich beim ursprünglichen MQTT2S autocreate entferne und wieder neu hinzufüge, so bekomme ich wieder
ein MQTT2S_192.168.0.225_anderePortNummer (ich vermute, dass hinten der Port steht, weiß es aber nicht).

Da es mein erster Versuch mit MQTT ist, habe ich keine Ahnung, wie ich weiter vorgehen kann oder wo ich
nachlesen könnte. Die Forensuche hat mir nicht geholfen, im
Thema: MQTT2 und Tasmota: hilfe mit einfacher Konfig: GELÖST  (Gelesen 3616 mal)
wird eine andere Tasmota version verwendet und der Autor bekommt neben dem Server noch Client-Devices
angelegt, die fehlen mir völlig.

Hilfe oder ein Hinweis wo ich nachlesen könnte, wäre nett.

Viele Grüße
Karsten

Otto123

Hallo Karsten,

was Du siehst sind nur Verbindungen und keine Geräte.
Die Geräte solltest Du im Raum MQTT2_Device finden.

Hilft Dir meine Aufzeichnung?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

karo

Hallo Otto,
das stellt zumindest klar, dass das Anlegen automatisch erfolgen sollte.
Im Eventlog finde ich die Zeile

Daher habe ich mal ein dump verwendet:
    my $dumpHash = Dumper($modules{MQTT2_DEVICE}{defptr});
    Log 1, "MQTT2_defptr: $dumpHash";     

Das ergibt im Log
2019.11.07 19:08:11 1: MQTT2_defptr: $VAR1 = {
          'bridge' => {},
          'cid' => {},
          're' => {}
        };

Na und leer sollte cid wohl nicht sein? - Perl ist einfach zu lange her für mich,
sieht so aus als müsste ich die versuche erstmal einstellen.
Viele Grüße
Karsten

Otto123

Moin Karsten,

Dein Versuch sagt mir gar nichts, der erscheint mir nicht zielführend.  :-[
Einzige Idee: stell beim MQTT Server MQTT2S mal bitte verbose auf 5 und poste einen Auszug aus dem Log.
Poste bitte die Ausgabe von list -r room=MQTT2_DEVICE
Ausgaben bitte in Codetags -> https://forum.fhem.de/index.php/topic,71806.0.html

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Die CID kann afaik auch leer sein, (sollte es aber in der Regel nicht, jedenfalls, wenn autocreate das macht).

Ich unterstelle mal, dass du an den Tasmota-Einstellungen nichts gemacht hast bzw. die Angabe "sonoff" entsprechend dem Wiki-Beitrag ersetzt?

Wenn eine temporäre MQTT2_SERVER-Instanz existiert, sollte sich auch irgendwo ein Client subscribed haben. Bleibt die Frage, wo die betreffenden Messages geblieben sind. MQTT_GENERIC_BRIDGE ist nicht im Spiel?

An sich sollte mit Ottos Vorschlag was kommen, falls du aber irgendwas automatisiert an den Räumen drehst, sollte wenigstens
list -r TYPE=MQTT2_DEVICE
was liefern.

Ansonsten bitte ein
list -r TYPE=MQTT.*
(in "#"...)
Du kannst vor dem Neustart bzw. lokalen Schalten des Tasmota auch mal rawEvents am (dauerhaften) MQtt2_SERVER aktivieren (.*) und schauen, was da so ankommt.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

karo

Hallo zusammen,
ich bin einen Schritt weiter gekommen. Zunächst mal meine obigen Code-Zeilen zumindest kurz erläutert.
Ich hatte in den Logs eine Ausgabe, die aus der Zeile
return "UNDEFINED MQTT2_$devName MQTT2_DEVICE $newCid ".$iodev->{NAME};
in 10_MQTT2_DEVICE.pm resultierte. Daher der Versuch mir die entsprechenden Variablen ausgeben
zu lassen.

Die Ursache liegt jedoch anscheinend daran, dass das globale autocreate nicht definiert war. Ich hab es
vor Jahren abgeschaltet und einfach nicht mehr daran gedacht,    :-[  Entschuldigung.

Daher hab ich verbose auch erst mal zurück gesetzt.
list -r room=MQTT2_DEVICE ergab keine Ausgabe, da es einfach nicht da war,
jetzt bekomme ich das device mit den entsprechenden Informationen angezeigt und
kann mal weiter schauen. 

Viele Grüße und Danke nochmals

Karsten