NEWS
Meross nur noch unidirektional
-
@myzerat Schon sehr strange. Zeig mal deine Konfig ... Was hast Du bei "Keine lokale Kommunikation - immer Cloud nutzen" gewählt? Sonst nutze mal bitte die lokale Verbindung zuerst. Und bitte ein vollständiges Debug Log vom Adapterstart bis idealerweise zum problempunkt, weil ich vermute das er bei dir ggf MQTT probleme hat, weil diese Fehlermeldung "Connection refused: Server unavailable" kommt von der MQTT schicht - heisst er konnte den MQTT Server von Meross nicht erreichen.
-
Also , ich habe immer cloud nutzen eingestellt, den andersrum reagieren schaltvorgänge oft 5 Sekunden zeitverzögert! Und ja werde ich machen, kann aber wieder dauern, weil es oft Stunden funktioniert.
-
@myzerat Ok, auch das ist bei mir noch nicht passiert. Reagiert alles "sofort". Tja Debug Log :-))
-
sorry hat etwas länger gedauert!
also, um ca. 17:03 iobroker.2022-06-12.rar gestern am Sonntag habe ich wie gewünscht, die Instanz "mit lokaler Verbindung zuerst" gestartet. Es dauert dann immer etwas bis alle Geräte erkannt werden.
laut log iobroker.2022-06-13.rar hat die Instanz dann um 1:56 früh einen absturz und erst als ich munter wurde und um ca. "2022-06-13 05:03:37.702" die instanz mehrmals neu startete funktionierte sie wieder!
hoffe das diese logs weiter helfen! DANKE
-
Wollte mal vorsichtig nachfragen, ob du eventuell schon die logfiles angesehen hast? Danke!
-
@myzerat Ne "Urlaub" hat es verhindert ... Wochenende
-
Kein Problem!
Genieße deinen Urlaub!!!!
Ps: Wenn es hilft geb ich dir auch meine zugangsdaten zu meinen meross Account, sag bescheid!
-
@myzerat Aaaaalso ....
1.) Der Lokale Modus ist bei der komisch WEIL Lokale Anfragen an die Geräte im 192.168.1.x er Netz nicht gehen!! Daher gehen die alle auf "Timeout" beim versuch der lokalen Kommunikation und das verzögert alles. Also Wenn du hinbekommst das die miteinander Reden können dann wäre der Lokale Modus für Dich nutzbar. Man müsste Port 80 erlauben, wenn Du das willst.
Aber auch über die Meross Cloud MQTT Verbindung bekommt er von den Geräten keine Antwort ... erst 17:18 klappte das plötzlich ... also iiiirgendwas war 17:00 bis 17:18 wo auch die Meross Cloud die Devices nicht erreichen konnte.
Dann um 1:56 flog die Cloud MQTT Connection weg ... Damit gingen alle die lokal erreichbar waren weiterhin und die die nur per Cloud erreichbar waren gingen nicht mehr und die MQTT Lib hat immer "Server unavailable" gesagt ... Da es aber mit einem Neustart der Instanz "sofort" geht mus man wohl anstelle "Reconnect" eher die ganze MQTT Verbindung neu erstellen.
Ok, ich überlege mir mal was.
Also am einfachsten wäre es wenn dein ioBroekr Host lokal mit den .1er Geräten reden dürfte ... dann brauchste die Cloud nicht mehr für Datenabfragen
Ingo
-
Danke für deine Analyse!
Was ich nicht verstehe, es hat 2 Jahre funktioniert und ich habe ja nicht wirklich was geändert! Die Probleme fingen einige Tage vor der Änderung seitens Meross an, wo sie dann den Login response geändert hatten, wo du ja sofort die Version 1.10.5 rausgebracht hattest. Auch habe ich versucht per Proxmox auf einen früheren Snapshot zurückzugehen wo es zu 100% noch keine Probleme gab, aber auch dort tritt das Problem auf.
Wegen Port 80!
Ich habe 2 Standorte, in Wien steht der Master und in Tulln der Slave, beide laufen auf Proxmox auf einem Intel Nuc. In Tulln am Proxmox ist ein OpenVPN Client der sich mit meinem Router in Wien verbindet, damit Master und Slave kommunizieren können.
Alle Meross Geräte liegen aber in der Instanz Meross.0 in Wien auch die Meross Geräte die ich in Tulln verwende. War auch 2 Jahre kein Problem. Außerdem sind ja alle Geräte in der selben App am Handy gebunden.
Wie meinst du das mit Port 80? Ich habe 18 Meross Geräte in Tulln, kann aber auf der Fritzbox ja nur ein Gerät für port 80 Freigeben ?
Bzw. Wie schaffe ich es das mein Host, ich denke du meinst den Master in Wien mit den Meross Geräten in Tulln Lokal kommunizieren kann?
aber eine andere Idee!?
Meinst würde es klappen, wenn ich eine neue Meross Instanz anlegen (Meross.1) auf dem Master, diese Instanz dann dem "slave" zuweise, einen neuen Meross Account anlege und die Geräte von Tulln dort registriere (diese aus dem Account und der Instanz Meross.0 vom Master in Wien entferne). Natürlich müsste ich sämtliche scripte umändern, aber wenn dies klappen würde, wäre es mir diese arbeite wert! -
@myzerat Naja wer weiss was Meross da letztens geändert hat ...
Was Du mit Deinem Setup tun müsstest das quasi der eine Standort auf "Port 80 aller Geräte am anderen Standort" zugreifen kann weiss ich nicht. Da kenne ich mich zu wenig mit VPN aus.
Am Ende ist Deine Idee mit den zwei getrennten Meross Accounts - wenn das für dich bezüglich der Mobil-App dann sinn macht - das einfachste ggf. Der Lokale Modus hat den Vorteil das du zb auch die Energieverbrauchsdaten öfter abholen könntest
Aber am Ende ist da ja irgendwas ... gib mir mal noch bissl bevor Du was tust und wir schauen das es erstmal wieder tut bzw bei Reconnects der Adapter sich besser verhält. Dann kannste es immer noch umbauen. Melde mich hier
-
Ich habe auf beiden hosts snapshots gemacht und dann einen 2. Meross Account am Handy angelegt. Und jeweils auf einem Account nun die Geräte aus Wien und am anderen Account die Geräte aus Tulln.
Der Vorteil ist, das nun durch das Teilen die App am Handy auch wieder ruckelfrei funktioniert. Denke es waren viel zu viele Geräte auf nur einem Account. Es war fast unmöglich in der App am Handy zu navigieren. Das ist jetzt durch das Teilen behoben.
Auch im iobroker sind keine Probleme mehr vorhanden. Denke das seit der Änderung von meross es mit VPN Probleme gab. Es gibt auch kein Timeout oder andere Fehler in den Logs mehr.
Wenn du eine Lösung hast werde ich die natürlich gerne testen.
-
@myzerat Ok, cool. Und Du nutzt den lokalen Modus?
-
ja, lokaler Modus bei beiden Instanzen!
-
@myzerat Naja wird jetzt denke schwieriger zu testen Aber schauen wir mal.
Also auf GitHub ist neue Version (Versionsnummer erstmal die gleiche). die neue Version hat zwei Dinge:
1.) man kann jetzt pro gerät im State "localConnection" setzen ob lokal oder Cloud genutzt werden soll - ausser man hat gesagt das die Instanz nicht lokal nutzen soll (das gewinnt). So hättest Du mit Deinem Mischsetup für die entfernten Geräte einfach die lokale Verbindung abschalten können
2.) Der Adapter versucht jetzt diesen "Server unavailable" Fall zu erkennen und einen kompletten Reinit der MQTT Verbindung zu machen ...Jetzt ist die Frage ob/wie Du so einen Fehler nochmal provozieren kannst ... kannst ja mal versuchen an einem Standort lokale Connection zu deaktivieren - oder das Issue kam nur wegen der menge der Geräte bei Dir ... Who knows.
Aber am Ende ist lokal viel besser. Hatte auch beim testen jetzt sehr komisches verhalten bei Cloud Aktionen ... Keine Ahnung was die da kaputt gespielt haben
Wäre cool wenn du bllt einen Standort bei dir mit der neuen version mal auf "voll Cloud" laufen lassen kannst für 1-2 tage oder so ... vllt passierts ja wieder. Danke. Aber auch gern melden wenn es generell tut ... dann kann ich mal schauen das ich es release
-
Also, ich habe gesamt 39 Meross Geräte, darunter auch einige Mehrfachsteckdosen!
Seit ich diese aufgeteilt habe nach Standort Wien (Instanz Meross.0) & Tulln (Instanz Meross.1) habe ich keine Probleme mehr, weder lokal noch nur per cloud!Nun habe ich aus Tulln ein Meross Gerät der Wiener Instanz Meross.0 hinzugefügt und habe eingestellt "keine lokale Kommunikation - immer Cloud nutzen"
Das ist das Gerät aus Standort Tulln, was ich nun dem Standort Wien Meross.0 zugewiesen habe!
"type": "device", "common": { "name": "Test", "statusStates": { "onlineId": "meross.0.21020323778036251h6148e1e94ad068.online"
Nach dem die Instanz neu gestartet wurde kam folgendes im logfile, habe dann um Punkt 14:53 die Instanz auf lokale Kommunikation umgestellt, auch hier wurde 2 Geräte nicht erkannt (eines aus Wien und das von Tulln, die Anzahl der nicht erkannten Geräte, ändert sich aber bei jedem Neustart der Instanz) :
logfile: MyzerAT_01.txt
Die Meldung "Server unavailable" kam diesmal nicht, denke das lag an der Masse an Geräten die zuvor auf nur einer Instanz verbunden waren, den selbst die Handy App war damit völlig überfordert!Sobald ich das Gerät Test aus der Instanz Wien --> Meross.0 entferne und die Instanz neu starte passt wieder alles! --> MyzerAT_02.txt
Mit der neuen Version, meinst du das ich diese so installieren soll?
wenn ja, werde ich diese dann installieren!
ps: was mir noch aufgefallen ist, auf beiden Master und Slave ist die Version 1.11.0 installiert, dennoch sieht man auf Meross.1 keine Onlinestatus der Geräte, nur bei Meross.0
-
@myzerat ja bitte von GitHub installieren.
Zu "Admin Farbmarkierung nur in instanz 0" ... Bitte mal Admin Shift reloaden ... danach immer noch? SOnst bitte mal von so einem "Device" objekt das JSON so eines Objekts zeigen ...
-
Sorry , bin erst jetzt dazu gekommen, habe nun auf meross.0 die github version 1.11.0 installiert und wieder ein Meross Gerät aus Tulln eingebunden und logfile auf debug umgestellt. werde das logfile laufen lassen und morgen hier posten.
-
so hier die zwei logfiles, start der instanz meross.0 im debugmodus am 22.06.2022 um ca. 11:27 bis 23.06.2022 bis ca. 18:42
MyzerAT_22062022.rar
MyzerAT_23062022.rarund wieder habe ich das eine Meross Gerät aus Tulln in der Handyapp mit den Geräten aus Wien eingebunden.
"meross.0.21020323778036251h6148e1e94ad068.online"
-
@myzerat Na dann release ich das mal ... ich sehe im Log nix auffälliges. hattest Du das genannte Gerät mit "LocalConnection" state auf false gesetzt? Ich denke nein, korrekt? Wenn Du das tust sollten diese "Timeout" die das manchmal im Log hat weg sein.
Off topic( Ursachensuche wäre ggf anderer Thread): was ist das ?
2022-06-23 03:11:53.335 - [31merror[39m: host.RDJLHome-Server Objects 192.241.220.18:46064 (Init=false) Redis error:Error: Invalid Chunk: parse failed
Gefühlt will da irgendetwas auf Port 9001 oder 9000 connecten was aber da nicht hin gehört
-
"LocalConnection" state auf false konnte ich nicht setzen, weil bei dem einen Gerät nur zwei Optionen verfügbar waren!
THX, zur FM Redis Error habe ich jetzt einen Beitrag eröffnet!