Hi,
ich habe es bei mir (Docker auf Synology mit Daten auf SSD) auch mal aktiviert und die CPU Last ist von 7 auf <1% gesunken. Es zwar nix mit MQTT direkt zu tun aber die Schwupdizität erhöht sich gerade auf schwächeren Geräten enorm. Anbei CPU Last vom Docker-Plugin.
Also bei mir laeuft nur Tasmota ueber MQTT. 7 Geraete insgesamt.
Ansonsten laeuft bei mir auf der VM nur noch ein Mosquitto auf nem anderen port.
Mit diesem Broker sind aber keine Geraete verbunden. Den hatte ich nur installiert um diesen Fehler zu ueberbruecken.
Bei mir laufen :
18 x Tasmota
10 x Inline
10 x Shelly
mit dem IPS internen MQTT auf einem TinkerboarS (etwas mehr Leistung als der Pi3).
OPCache ist aktiv.
Allerdings habe ich einen 2 MQTT Server mit einem neuen Port aufgemacht, und da ein ShellyEM reingepackt. Denn das Erzeugt ne Menge Traffic und ich hatte das Gefühl, der anderen Dinge wurden träge. Das ShellyEM sendet teilweise im Sekundentakt die Leistungswerte,
Ich muss mich nochmals melden…
Nachdem ich ja vor 2 Tagen den OPCache aktiviert habe, habe ich das Gefühl ein neues Symcon zu haben. Ich habe keinerlei Verzögerungen beim Schalten von MQTT Geräten, keinerlei Aussetzer bei der Abfrage von Werten per MQTT mehr, das ganze System läuft deutlich schneller…
ich bin echt überwältigt…
Danke für eure Hilfe.
btw: Ich habe
5 Shellys
22 Tasmota Devices
2 Rockrobo’s
1 Robonect Modul
1 EMS ESP Gateway
3 selbstgebaute Anzeigetafeln
2 Kameras
die alle über MQTT kommunizieren, alles auf einem Tinkerboard mit IPS 5.5 (Ninja)
Also ich habe gestern den OPCacheSupport aktiviert und bisher schaut es bei meinen 25 Shellys auch noch ganz gut aus!
Ich werde das aber weiter beobachten, weil es vormals auch ganz plötzlich anfing sehr träge zu werden und zwischendurch auch wie Schmitz Katze lief…
Gibt es denn eigentlich eine Möglichkeit per MQTT verschickte Bilder in IPS anzeigen zu lassen?
In der angelegten String Variable sieht das recht binär aus.
Welches Gerät sendet denn das Bild? Ich habe mal 10 Sekunden google befragt. Dort kommt man immer wieder auf den Schluss, das Bilder base64 codiert übertragen werden. Das hieße du würdest die übermittelten Daten einfach so in den Image Befehl von Symcon stopfen. Wenn wir jetzt davon ausgehen, dass das noch binärdaten sind, musst du erst base64 drüber laufenlassen, damit Symcon sie versteht.
Alternativ schicke doch mal nicht einen Auszug, sondern ein tatsächliches Bild hier mit.
ich habe gerade ein Update auf 5.5 auf meinem Raspberry gefahren und und erfreulicherweise festgestellt, dass MQTT jetzt Nativ eingebunden ist.
Ich habe mich gestern gleich dran gesetzt und mit einem meiner ESPs (ich fahre die alle im Deep-Sleep Modus, nach 5 bis 10 Minuten wachen die auf und Publishen bzw. Subscriben Werte).
Bisher verwende ich das Modul von Kai und läuft tadellos
Jetzt habe ich folgende Fragen zum nativen MQTT:
Kann man aus Symcon heraus einen Publish machen mit QOS = 1?
Für den Publish wird hier im Forum geschrieben:
–> MQTT Device Instanz erstellen.
–> RequestAction($id_der_variable, „DeinTollerWert“);
Was ist mit MQTT Device konkret gemeint - ich vermute MQTT Client Device?.
Denn wenn ich mit eine Instanz hinzufüge über „Rechtsklick - Objekt hinzufügen - Instanz“, dann Schnellfilter MQTT eingeben erscheint folgendes zur Auswahl (siehe auch Bild im Anhang):
MQTT Client Configurator
MQTT Client Service
MQTT Server Configurator
MQTT Server Device
und noch 3 Splitter
Und zur RequestAction Funktion: Nimmt man die ID des erstellten „Device“ oder die ID des darunter erstellten „Value“
RequestAction bezieht sich grundsätzlich auf die Variable, nicht auf die Instanz.
Du erstellst ein neues Gerät vom Typ MQTT Client Device, das hat genau eine Eigenschaft (das Topic) und ist als normale Gerät daran zu erkennen, dass es eben kein Splitter und kein Konfigurator ist (anderer Teil des Objektbaums).
So ganz blöd: Du hast die richtigen Schlussfolgerungen schon selber gezogen. Es einfach auszuprobieren ist eine Sache von wenigen Sekunden. HIer auf Antworten zu warten, dauert deutlich länger.
Danke Euch, hat geklappt mit dem MQTT-Publish.
Ich war etwas verwirrt wegen den unterschiedlichen Konfigurationsmöglichkeiten.
Dem MQTT Client Device kann man als Gateway einen MQTT-Client bzw. einen MQTT-Server zuweisen (beides Splitter) zuweisen. Den Splittern wiederum unterschiedliche Schnittstellen (Host + Port).
Da eröffnen sich ja einige Möglichkeiten…
Ich werde dann mal loslegen was man so machen kann
Also wenn der Publish mit QOS=1 dann in den nächsten Versionen aufgenommen wird, dann werde ich alles umstellen.
Ich nutze den IP-Symcon MQTT-Server zur Kommunikation mit meinen ESP32, die mit ESPHome programmiert sind. Im Prinzip funktioniert das auch sehr gut.
Nun möchte ich einen bestimmten String auf ein definiertes Thema senden und komme nicht weiter:
Hier habe ich ein MQTT Server Device. Dort ist das Thema festgelegt. Der Befehl kommt leider nicht an, da unter einem anderen Topic (MQTT/ESP10/light/rgb-led/state) gesendet wird. Auch wird statt einem String ein JSON verschickt.
Ich hatte gerade ein ähnliches Problem.
Hast du in deinem YAML den betreffenden Port bzw. Section auf „internal: true“ gesetzt?
Dann wurde bei mir STATE gar nicht gesetzt sondern nur im xxx/debug angezeigt.
Vielen Dank für deinen Hinweis mit Internal. Das kannte ich gar nicht und probiere es heute Abend gleich mal aus.
Nach etlichen weiteren Versuchen habe ich festgestellt, dass das gesendete Topic vom Inhalt des Textes abhängt. Sende ich „BLAU“ erscheint das o.a. Topic im JSON-Format. Schicke ich aber z.B. „LED_BLAU“, dann wird das Topic verwendet, dass in IPS hinterlegt ist.
Wahrscheinlich ist da noch eine Logik im Hintergrund. Scheint auch neu zu sein, denn vor einiger Zeit als ich probiert habe WS2812-LED aus IPS anzusteuern, hatte ich dieses Problem nicht.
Hm - das mit „internal“ ist auch abhängig davon ob du zeitgleich einen „Name“ vergeben hast. Dann wird das tw. automatisch gesetzt. Hab mich da lange durchgebissen. Und sende jetzt MQTT manuell - da ich für meine Zwecke keine Lösung finden konnte.
Aber als Hilfestellung:
Da wurde ich aus deinen Angaben nicht ganz schlau.
Ich nehme an der ESP32 sendet MQTT ?
Ich verwende WIN Clients.
Dann könntest doch dort mal den MQTT-Explorer installieren und den ESP-32 dorthin senden lassen.
Da sieht man sehr schön was wann ankommt.