IP-Symcon goes MQTT

Wie paresy schon gesagt hat,
in dem Fall, ein Zigbee2mqtt-Modul bauen.
Ich würde in deiner Stelle mal mit Kai sprechen, denn es sieht so aus, als wenn man das Shelly oder Tasmota Modul nur etwas umschreiben müsste.

Hallo Zusammen,

nachdem IP-Symcon nun auch MQTT kann, habe ich mir einen Shelly1 besorgt um das direkt auszuprobieren. Die Teile sind wirklich super! Basisinstallation über die App kein Problem.


Danach die Server Instanz erzeugt
MQTT6.jpg
dann eine Client Instanz mit dem passenden Topic zum Schalten angelegt
MQTT5.jpg
und zu guter letzt kleiner Test, ob der Schaltvorgang auch funktioniert.

Leider tut sich da nichts. Die passende Variable wird umgesetzt, aber es wird nichts geschaltet und auch im Debug vom Server Socket ist nichts zu sehen. Ich vermute einen komplett dämlichen Fehler bei mir. Hat jemand einen Rat? Danke!

Gruß
Frank

In der Basisinstallation bei der IP Adresse das Port angeben. Bei Dir ist das 192.168.3.93:1883

Gruss!

Tom

Hallo Frank,

ich würde mal das Modul von Kai nehmen : [Beta] IPS-Shelly - MQTT Server 5.1

Hallo paresy,

ich habe das eingebaute MQTT jetzt am laufen und zigbee2mqtt-Daten werden auch vollständig erfasst (bis auf die lästige JSON-Zerhackerei, habe schon Kai kontaktiert).

Bei meinem bisherigen MQTT-mosquitto konnten sich auch andere MQTT-Clients subscriben und die Daten kamen auch sauber an. Hier bei mir in IPS können die Clients auch publishen und die Werte tauchen in der Console und im Debug von Symcon auf, aber eine MQTT.fx Instanz die subscript (z.B. #) bekommt keine Nachrichten. Kann das an CoS 0 liegen?

Das war beim Mosquitto anders. Mache ich da was falsch?

Gruss
Bernd

Aktueller Setup:

Hi Tom,

danke das war der Fehler, zumindest fast. Nach eintragen des Ports kommen nun Meldungen vom Device rein und auch im Konfigurator erscheinen nun automatisch die passenden Einträge. Wenn ich über das Web-Portal des Shelly schalte, kommen diese Meldungen perfekt und ohne Verzögerung an. Allerdings gelingt es immer noch nicht etwas zu senden. Im Debug erscheint kein „TRANSMIT“. Hast Du noch eine Idee?



MQTT8.jpg

Gruß
Frank

Hi,

mit dem Modul funktioniert es einwandfrei! :smiley: Danke!!

Gruß
Frank

@icey: kannst du das Problem mit mqtt.fx als Test Aufbau nachstellen? Was muss ich genau machen? Eigentlich sollte jeder der auf # subscribed alles erhalten.

Hallo paresy,

bei mir läuft folgende Konstellation:

Publisher sind eine MQTT.fx Instanz auf System 1 (Topic: zigbee2mqtt/fx/value) und das zigbee2mqtt-Gateway (Topic: zigbee2mqtt/*).
Subscriber ist eine MQTT.fx Instanz auf System 2 (Topic: zigbee2mqtt/#) und indirekt über das Modul natürlich IP-Symcon selbst.

Broker Variante 1: Mosquitto auf einer QNAP
Broker Variante 2: MQTT-Modul in IP-Symcon

Bei Variante 1 werden alle MQTT-Nachrichten mit zigbee2mqtt in MQTT.fx/System2 angezeigt.
Bei Variante 2 kommt alles in IP-Symcon an (im Debug und den Variablen), aber nichts in MQTT.fx/System2.

Gruss
Bernd

Hallo paresy,

großes Lob. Habe heute ein paar ESP-Easy Geräte angeschlossen. Das Senden und Empfangen von Daten lief auf Anhieb fehlerfrei.

Jörg

Ich schaue mir das auch noch an. :slight_smile:

Grüße,
Kai

Hallo paresy,

mein Setup hatte ich ja schon gepostet [LINK].

Mir ist heute zufällig folgendes aufgefallen. Beim Testen von Kai´s neuem Zibee2MQTT-Modul [Link] und dem Absetzen von Schreibbefehlen Z2M_SwitchMode() habe ich aus Gewohnheit MQTT.fx am Rechner mitlaufen gehabt und plötzlich tauchen die Befehle auf. Es scheint also so, als ob der interene Symcon-MQTT-Broker nur published wenn er selbst etwas versendet. Nachrichten von anderen MQTT-Publishern für die sich andere MQTT-Subscriber bei ihm angemeldet haben, scheint er nicht weiter zu geben, was er als vollwertiger Broker aber machen sollte.

Na ja, einen Teil kann man jetzt debuggen. Das hilft schon mächtig weiter.

Gruss
Bernd

Hallo zusammen,

Hab mir gerade mal den MQTT Server installiert. Läuft auch soweit.

Wie kann ich mit einem PHP Script alle eingehende Messages verarbeiten? Also, wie und wo lege ich das Script an. Hat da jemand ein Beispiel?

Danke

Hallo icey, paresy

bei mir tritt der gleiche Fehler auf.

Umgebung:
IPSymcon = docker instanz - version heute morgen nochmal aktualisiert :wink:
Client #1 = ESP8266 mit Espruino
Client #2 = Notebook mit mqtt-spy

Was geht ist der Publish von allen Clients - ist in der IPSymcon Instanz sichtbar und entsprechende Events werden ausgeführt
Was nicht geht ist der Subscribe von allen Clients - bleibt immer leer.

Noch nicht ausprobiert habe ich eine Publish aus IPSymcon - folgt aber kurzfristig.

Ein Publish von einem Client wird aktuell nicht an andere Clients weitergegeben. Ich habe dies im MQTT Thema als Missing Feature hinzugefügt und wir werden dies zu IP-Symcon 5.2 einbauen.

paresy

Hallo Paresy,
habe am letzten auf Symcon 5.1 Beta mit MQTT von dir umgestellt, mein Mosquitto auf dem Raspi ist in Rente gegangen.
Da ich derzeit alles auf Tasmota habe und Kai sein tolles Tasmota Modul angepasst hat, rennt alles bestens.

Keinerlei Störungen seid Freitag Abend, perfekte arbeit von dir(Euch). Danke.

Gruß Achim

Auch ich habe bisher die gleiche Anforderung und habe es folgendermaßen gelöst.

IP-Symcon ist bei mir nur ein Edge-Broker und der Hauptbroker nach wie vor ein Mosquitto zudem sich alle Geräte verbinden.

in der Mosquitto Konfiguration habe ich dann eine Bridge gebaut, welche alles was einkommt rausgibt und andersrum


connection bridge-01
address 172.63.11.83:1883

topic # out 0
topic # in 0

172.63.11.83:1883 ist dabei die IP von Symcon mit dem hinterlegten Port im ServerSocket (I/O)

Hi,

ich würde gerne etwas per Script publishen allerdings möchte ich das Topic sowie den Content in dem Script variabel gestalten.
Früher, mit Kais Modul, ging das:

$topic = /symcon/display/pool
$content=„an“

MQTT_Publish($id, $topic,$content)
Das würde ich mit der nativen MQTT Implementierung auch gerne machen.

Hab ich das was übersehen.

P.S. Der „Rückweg“ ist mir nicht wichtig, brauche also keine Variable mit dem Wert in IPS, der Client ist ein Display und IPAS gibt die Werte vor.

Hallo zusammen,

Ich habe bisher keinerlei Erfahrungen mit MQTT, möchte aber dennoch versuchen meinen Roomba980 mittelst MQTT anzusprechen, es gibt bereits diverse Projekte in JS mit denen es funktioniert.
Man muss ich beim Robby mittelst Username und Password anmelden, kann mir hier jemand behilflich sein wie ich das über IPS hinbekomme?

Gruß,

Hallo Bernd :slight_smile:

Ich habe auch sehr viel Xiaomi Wassermelder und Tempsensoren sowie Magnetkontake bei liegen und möchste sie auch gern in IPS integrieren jedoch komme ich da nicht weiter.

Aktuell habe ich einen Raspi mit dem cc2531 und Fhem mit Mosquitto laufen aus Zeiten wo MQTT noch nicht soweit in IPS war.
Jedoch sehe ich die Daten in Fehm und auch im Debug von IPS aber irgenwie möchte ich das neu machen und mal zum laufen bekommen und denke das diesen Fhem dann nicht mehr nötig ist, kann du mir da einen Tipp geben wo ich ansetzen muss ??:confused:

Hauptgrund sind die Wassermelder von Xiaomi :slight_smile:

Danke
Alex:)