NEWS
Test Adapter melcloud v2.0.x Latest
-
@mchott @Black-Thunder Das heißt also,
ihr wollt z. B. 22°C im Raum,
Klimagerät meint, es wären schon 22°
und der externe Temperaturfühler zeigt 20°.Ergo, ihr stellt die Klimaanlage auf 24°, oder?
-
@oxident so in der Art .. meine Klimaanlage wurde damals ungünstig positioniert, weswegen ich in der einen Ecke 24°C und in der anderen 20°C habe .. die Klimaanlage misst im Sommer in dem Fall 29°C und im Winter eher 17°C .. also alles völliger Mist und ich würde die Anlage so nicht einbauen.
Die Temperaturdifferenz behebe ich durch die Einstellung der Richtung, womit die Luft homogener wird und den Rest löse ich wie von dir beschrieben über eine manuelle Übersteuerung. Also ich schalte HEAT, COOL und VENT und eine Temperatur, die knapp über oder unter der gemessen liegt, bis es passt.
Soweit die Theorie, denn es funktioniert noch nicht alles perfekt, was im Wesentlichen an der schlechten Kommunikation zwischen ioBroker und MelCloud liegt.
-
Als kleines Schalttagsschmankerl habe ich soeben eine neue Version 1.4.0 bei npm freigegeben (und sollte demnächst im latest aufschlagen).
Damit ist es nun möglich, in den Einstellungen den Abruf der Daten auch komplett zu deaktivieren, für all diejenigen, die dies sowieso nicht benötigen. Damit ist auch der Workaround, sehr hohe Werte beim Intervall einzutragen, überflüssig.Bitte gerne Feedback, ob alles so funktioniert wie bisher oder ob es unerwünschte Nebeneffekte gibt.
-
@black-thunder
Danke, es hat wie erwartet nicht die Lösung gebracht. Dann hab ich ein Ad-Hoc Wifi mit meinem Homeserver im Keller eingerichtet... gleiches Problem. Heute sogar mein Telefon per Wifi-Hotspot im Keller platziert... auch nix.Folgende Symptome hat das Problem:
-
Letzte Kommunikation ist immer Sekunden vor 07:00 morgens oder 17:00 abends. Der Wifi-Adapter ist danach im lokalen Netzwerk und man erreicht auf ihm einn Login-Dialog per http. Die Fritzbox hatte auch keine zeitlich korrelierten Events. (Wifi An-/Abmeldung)
-
Dann muss man den Reset auf dem Wifi-Adapter ausführen, sonst kann man keine Werte auslesen oder Aktionen steuern. Danach gehts.
-
Noch eine Beobachtung: Nach Reset (selbst nach Power-Cycle aller Geräte) funktioniert die Timer-Einstellung in der MelCloud nicht (Egal ob Android oder über Web-App). Ich kann aber normal Steuerbefehle aus dem Netz senden und die Maschine macht was sie soll... hier der Fehler, wenn ich auf 'Timer' gehe: Hat das noch wer?
Das scheint doch eher ein rein interner Fehler auf Seiten der MelCloud zu sein?
-
-
@black-thunder Danke .. ich habe es gleich installiert und auch den Haken aktiviert .. scheint zu funktionieren.
Ich habe aber ein anderes Problem:
Im Raum verteilt sind Sensoren, deren Temp Werte ich einsammle und jede Minute läuft ein Skript, welches daraus die Einstellungen für das Kilmagerät ermittelt. Das funktioniert soweit. Per setState setze ich diese dann in den Objekten der melcloud, aber dann passiert damit eher nichts. Von der App aus reagiert das Klimagerät allerdings, also ist die Verbindung Klimagerät-Melcloud gegeben. Die Verbindung vom Adapter-Melcloud ist laut Log auch in Ordnung und ich erhalte auch die aktuellen Daten vom Gerät, also auch kein Auth Problem. Und vom Objekt her passiert auch manchmal was, aber eher selten, was mich eher verwirrt, weil es eben nicht immer nicht geht.
Irgendeine Idee? Zu schnell hintereinander? Muss ich noch was anderes setzen, damit er es sendet? Beim setState setze ich ack=false?
-
@mchott Danke für die Rückmeldung.
Spontan fällt mir nix auf, warum das so nicht funktionieren sollte. Du kannst ja mal ein Debug-Log anhängen, wenn du die Temperatur setzst, die Änderung aber nicht in der Cloud ankommt.
Die Werte rundest du vor dem Setzen auf X.5/X.0°C? Könnte sein, dass "krumme" Werte dazwischen abgelehnt werden. -
@black-thunder ich setze derzeit volle Integer als Wert, also 21.
setState('melcloud.0.devices.101371856.control.targetTemp',getState('0_userdata.0.uFactory.KlimaTempTargetUp').val,false);
Das sieht dann auch okay aus, wenn ich in die Objekte schaue. Das Log von dem melcloud Adapter ist immer recht schnell wieder weg, obwohl es auf debug steht.
Was ich aber eben gesehen habe ist, dass er z.B. den Wert auf 25 setzt und dann kommt ein Update von der Cloud und setzt den Wert auf 23 und dann kommt das ganze leicht aus dem Tritt, weil mit einiger Verzögerung dann doch der Wert aus der Cloud kommt und dann wieder auf 25 setzt, weil der Befehl durchgegangen ist.
Das kann sich dann also wild überlagern, wenn ich zu oft abhole oder zu schnell sende.
Wenn ich die Abholung deaktiviere .. wird dann nie abgeholt und immer nur gesendet?
-
@mchott gibt es ein "forceSend"? Wenn ich jetzt nicht mehr abholen würde, dann würde er ja erst etwas senden, wenn es sich nach seiner Erinnerung geändert hat, was ja auch nicht richtig ist. Er sendet ja nichts, wie ich es sehe, wenn sich der Wert nicht geändert hat.
-
@mchott said in Test Adapter melcloud v1.4.x Latest:
@black-thunder ich setze derzeit volle Integer als Wert, also 21.
setState('melcloud.0.devices.101371856.control.targetTemp',getState('0_userdata.0.uFactory.KlimaTempTargetUp').val,false);
Das sieht dann auch okay aus, wenn ich in die Objekte schaue. Das Log von dem melcloud Adapter ist immer recht schnell wieder weg, obwohl es auf debug steht.
Das Log kannst du immer auch im Nachhinein auslesen. Z.B. direkt im Admin -> Protokolle -> Log herunterladen
Wenn ich die Abholung deaktiviere .. wird dann nie abgeholt und immer nur gesendet?
Es wird dann nicht regelmäßig nach aktualisierten Daten gefragt. Allerdings wird unabhängig davon nach jedem Sendevorgang die Rückmeldung aus der Cloud abgeglichen und ggf. die Werte aktualisiert.
@mchott said in Test Adapter melcloud v1.4.x Latest:
@mchott gibt es ein "forceSend"? Wenn ich jetzt nicht mehr abholen würde, dann würde er ja erst etwas senden, wenn es sich nach seiner Erinnerung geändert hat, was ja auch nicht richtig ist. Er sendet ja nichts, wie ich es sehe, wenn sich der Wert nicht geändert hat.
Ah ja, das könnte natürlich das Problem sein. Im Moment ist es so, dass nur ein Sendevorgang ausgelöst wird, wenn sich der lokale Wert in ioBroker geändert hat. Das führt natürlich jetzt zu dem Problem, dass man nicht mehr denselben Wert senden kann, obwohl in der Zwischenzeit dieser Wert potentiell längst veraltet ist.
Sprich bei "melcloud.0.devices.101371856.control.targetTemp" steht z.B. 21, in der Cloud/Realität hat sich der Wert aber (extern ausgelöst, z.B. durch Fernbedienung) geändert und du möchtest nun wieder 21 per ioBroker senden? Dann hast du Recht, das funktioniert im Moment so nicht. Könnte ich aber ändern, wenn gewünscht.
-
@black-thunder du sendest ja bei jedem Einzelwert einen kompletten Request, also alle Werte?
Ich habe jetzt mal ohne Daten abholen getestet und da läuft es sehr viel vorhersehbarer, wahrscheinlich ist dann der Konflikt zwischen setzen-holen-setzen-... der Grund für die Missverständnisse zwischen Kilma-Cloud-ioBroker
Option A Ich schreibe meine Werte und setze am Ende einen beliebigen Wert auf was komisches und wieder zurück, dann werden auf jeden Fall alle Daten am Ende konsistent übertragen. Eher ein Workaround.
Option B Es gibt ein "Bool" Field, welches ich aktiv auf true setze, dann wird gesendet und der Wert wird wieder auf false gesetzt. Oder ein virtueller Taster .. bin nicht so firm in ioBroker.
Option C Die Daten werden nie gesendet, bis ich auf einen Trigger klicke, was die Verwirrung in der Cloud senkt, da nicht jedes Mal viele Werte gesendet werden, sondern garantiert nur ein Request.
Option D Du hast eine sehr viel bessere Idee.
-
@mchott said in Test Adapter melcloud v1.4.x Latest:
@black-thunder du sendest ja bei jedem Einzelwert einen kompletten Request, also alle Werte?
Nein, es wird immer nur pro Request der geänderte Wert gesendet.
Ich habe jetzt mal ohne Daten abholen getestet und da läuft es sehr viel vorhersehbarer, wahrscheinlich ist dann der Konflikt zwischen setzen-holen-setzen-... der Grund für die Missverständnisse zwischen Kilma-Cloud-ioBroker
Da sollte es keine Missverständnisse geben, da das Senden in Echtzeit passiert. So kann ein Konflikt mit den Werten aus der Cloud eigentlich nicht vorkommen, da der Wert dann dort mit dem gesendeten Wert überschrieben wird.
Option A Ich schreibe meine Werte und setze am Ende einen beliebigen Wert auf was komisches und wieder zurück, dann werden auf jeden Fall alle Daten am Ende konsistent übertragen. Eher ein Workaround.
Option B Es gibt ein "Bool" Field, welches ich aktiv auf true setze, dann wird gesendet und der Wert wird wieder auf false gesetzt. Oder ein virtueller Taster .. bin nicht so firm in ioBroker.
Option C Die Daten werden nie gesendet, bis ich auf einen Trigger klicke, was die Verwirrung in der Cloud senkt, da nicht jedes Mal viele Werte gesendet werden, sondern garantiert nur ein Request.
Option D Du hast eine sehr viel bessere Idee.
Bitte beschreib nochmal genau deinen Use-Case bzw. wie das Problem genau auftritt. Also welche Werte du wann sendest und wann es zu Diskrepanzen kommt. Am besten mit Debug-Log dazu.
So ganz kann ich das noch nicht nachvollziehen. -
@galdreth
Ich hatte ein ähnliches Problem mit dem melcloud Adapter und der Fritzbox.
Bei mir lag es an der Fritzbox. Dort hatte ich sehr vielen Geräten eine feste IP Adresse gegeben weil ich in der Vergangenheit Probleme mit dem internen DHCP Server der Fritzbox hatte.
Ich habe zum Test bei allen Geräten "Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen" ausgeschaltet und siehe da, keine Verbindungsprobleme mehr mit dem melcloud Adapter. -
@black-thunder hallo .. entschuldige die Wartezeit .. die hatte familiäre Gründe
Also .. derzeit habe ich die Abholung von der melcloud quasi deaktiviert (nur noch alle 12h) und es scheint sehr viel zuverlässiger zu funktionieren .. eventuell war es ein Timingproblem, also die Daten von der melcloud und meine Steuerung sind sich eventuell irgendwie in die Quere gekommen.
Ich habe am Code nichts geändert, sondern lediglich die Häufigkeit meiner Steuerung etwas gedrosselt, was ja auch Sinn macht bei der Trägheit des Systems und die Daten hole ich nur noch alle 12h ab, weil die Steuerung ja funktioniert muss ich jetzt eh nicht mehr ans Bedienpanel.
-
@black-thunder vielen Dank für Deinen Support
-
@mchott Gerne, kein Problem. Wenn doch wieder Unstimmigkeiten oder Probleme auftreten, meld dich einfach nochmal.
-
Hallo, habe gerade auf 1.4.0 geupdatet.
Zusammenfassend kann man sagen:
Änderungen über ioBroker (an/aus, Temperaturänderungen)
kommen sofort in der Melcloud App an und gehen auch direkt zur Klimaanlage.
Änderungen per Melcloud App / Fernbedienung gehen sofort zur Klimaanlage, kommen im ioBroker aber erst je nach eingestelltem Abfrageintervall an (bzw. wann eben wieder abgefragt wird).Demnach kann eine Bedienung über die Melcloud App / Fernbedienung zu Verwirrungen im ioBroker (Vis) führen.
Stimmt doch soweit, oder ?
-
@darkblu Das ist korrekt, war aber schon immer so und lässt sich auch nicht verhindern.
Die Cloud schickt keine Pushnachrichten bei Änderungen, sondern der Adapter fragt regelmäßig die Daten ab (außer man deaktiviert das seit v1.4.0, dann bekommt man externe Änderungen gar nicht mit und es kommt evtl. zu Konflikten). -
@Black-Thunder kann es sein, dass sich Adresse der Außentemperatur geändert hat oder diese vom aktuellen Adapter nicht mehr erfasst wird? Laut den Objekten ist die Temperatur das letzte Mal am 26.3.2024 im iobroker geändert worden. Das war auch der Zeitraum, im dem ich auf die Version 1.4.0 gewechselt habe.
Danke schon mal für Deine Hilfe -
@ralf_62 Dazu bräuchte ich bitte ein Debug-Log, wenn ein Abruf der Daten des betroffenen Geräts stattfindet. Von Änderungen diesbezüglich ist mir so nichts bekannt.
-
@black-thunder ich habe das Problem entdeckt. In der Instanz war keine Abtastzeit eingetragen.
Dazu aber gleich noch eine Frage, ist die Eingabe ein Sekunden- oder Minutenwert?