IP-Symcon goes MQTT

Hey paresy,

ich kann die Probleme der Jungs leider auch nicht hier sehen, bzw nachvollziehen.:confused:
Und bei uns läuft einiges per MQTT.

Ich denke, man müsste einfach mal mit „4 Augen“ mehr, Life drauf schauen…
Für mich war Löwenkönig mal wieder eine Hilfe, um Fehler zu sehen die ich nie hatte.
Also Telefon und Anydesk war schon hilfreich in dem Fall.

Und den Online/Offline Status erst mal vergessen, der Rest muss passen!

Bei mir leider kein System dahinter, vollkommen sporadisch und nicht nachstellbar.
Meine Vermutung ist das der MQTT Broker überfordert ist.
Falls ich etwas dazu beitragen kann (Mitschnitte des Datenverkehr über den MQTT Broker), ich erkläre mich gerne dazu bereit!

@alsk1: Auf welcher Platform läuft dein IPS? Ist der OpCache Spezialschalter aktiv?

paresy

@paresy

Das IPS 5.5 läuft auf einem Raspi 3b
OPCache Spezialschalter sagt mir jetzt auf Anhieb nichts.

hatte ja vor dem Wochenende auf 5.5. geupgraded…
Bis jetzt ist bei mir alles ruhig. Allerdings waren vorher auch wohl Ruhephasen von 3-10 Tagen drin…
Ich beobachte das weiter und wenn es Auftritt koennen wir ja mal drauf schauen :slight_smile:

Schalte OPCache mal ein.
https://www.symcon.de/service/dokumentation/entwicklerbereich/spezialschalter/

Und schaue mal unter PHP Informationen in der Console, was da so abgeht.
Ev noch ThreadCount und ThreadQueueLimit erhöhen.

Vielleicht sollte jeder der wirklich Probleme hat mal ganz kurz schreiben:

-welche Geräte (Shelly, Tasmota)
-Anzahl der Geräte
-wie viele Broker Instanzen

Vielleicht hilft das?

Auf meinem Raspi 3b läuft auch noch die Homematic Instanz parallel zum MQTT Broker. Aber ich kann mir nicht vorstellen das er damit überfordert ist oder an die Leistungsgrenze kommt.

Aber es scheint so, daß manche Infos, welche über MQTT reinkommen nicht ausgewertet werden oder ignoriert werden (anscheinend aber immer nur kurzzeitig).
Und die plötzlich auftretenden Verzögerungen sind komisch.

Ich habe zB einen HmIP-WRC2 Wandtaster (Batterie) angemeldet an der CCU3 mit dem ich über ein Skript in IPS per ShortPush einen ShellyDimmer auf 20% ein setze, per LongPush auf 100% ein setze und per ShortPush wieder ausschalte.
Betätige ich den Taster, dann dauert es manchmal bis zu 20 Sekunden bevor der Dimmer reagiert. In seltenen Fällen reagiert er nahezu zeitgleich bzw mit minimaler Verzögerung.

Also, ich will den Tag nicht vor dem Abend loben aber ich habe vor einer guten Stunde OPCache aktiviert und seitdem keine Probleme mehr, MQTT scheint (bis auf den online/offline Status) ordentlich zu funktionieren.
Auch das Problem mit dem Speichern der Einstellungen schient sich erledigt zu haben…
Ich beobachte das heute weiter und gebe nochmals Rückmeldung, aber bis jetzt sieht’s ganz gut aus…

Kann das alles in Zusammenhang mit dem OPCache stehen??

Ich komme noch nicht dazu da ich derzeit nicht daheim bin. Habe aber gerade mal gelesen was in der Beschreibung zu OPCache steht.
Ich sehe da keinen Zusammenhang mit MQTT…?? OPCache bezieht sich eigentlich doch nur auf die Abarbeitung von Skripten?

Genau, und auch im Modul sind Skripte.
Schau mal in „PHP Information“ der Console, was da so los ist.:smiley:

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.

btw. hat OPCache bekannte negative Nebeneffekte?

Ralf

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.

Edit: opcache ist bei mir an

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.

Bilder werden häufig base64 kodiert. Bei Änderung der mqtt Variable den Inhalt an eine Medieninstanz weiterleiten.
https://www.symcon.de/service/dokumentation/befehlsreferenz/medienverwaltung/ips-setmediacontent/

Hallo Tobias,
Danke für den Tipp. Leider scheint das eben kein base64 String, sondern Binärdaten zu sein.
Mal ein Auszug: ‹훿ŽÓ@Æwï

Ich habe die von dir genannte Funktion aber mal mit einem extra umgewandelten Bild probiert und das funktioniert.

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.

Hallo Tobias,

es handelt sich um das Bild Raumbild eines Roborock Staubsaugers welches von Valetudo RE übermittelt wird. Ich denke mal ich werde mir da mal länger für Zeit nehmen müssen, da dies vor dem base64 kodieren noch extra verarbeitet werden muss. Einfach so kodieren hab ich mal probiert, hat aber wie vermutet nichts gebracht.
Ein Ansatz dafür wäre wohl das hier: GitHub - alexkn/node-red-contrib-valetudo: A Node-RED node to convert Valetudo map_data to a png image wich can be send to a dashboard template node.