NEWS
Ecovacs Deebot Adapter: Status und Feedback
-
@chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:
Wäre toll wenn du das noch ändern könntest, charging wird nur ganz kurz angezeigt und dann steht da stopped
Ja, ich schaue mir das noch mal an - aber ich habe wie gesagt kein Gerät mehr in Betrieb wo der Fehler auftritt. Ich kann das also nicht nachstellen.
Du könntest mir dabei helfen:
Was steht denn in "info.cleanstatus" und "info.chargestatus", wenn "status.device" auf "stopped" statt "charging" steht?
-
bei info.cleanstatus steht stop
bei info.chargestatus steht charging -
@chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:
bei info.cleanstatus steht stop
bei info.chargestatus steht chargingDanke, ich denke damit konnte ich das fixen.
Probier mal die 1.4.13-alpha.14 -
Funktioniert wieder, tausend Dank
-
Hallo zusammen,
ab Samstag, den 25.02.2023 wird die Version 1.4.13 über Beta/Latest verfügbar sein.
Wichtige Änderung:
Der Endpunkt der Deebot API wurde geändert.
Die "Request failed with status code 502/504" Warnungen scheinen damit der Vergangenheit anzugehörenIch kann nur spekulieren, warum der alte Endpunkt diese Probleme macht - vielleicht schaltet Ecovacs diesen demnächst ab und hat den Datenverkehr über den neuen Endpunkt priorisiert. Aber das ist wie gesagt nur Spekulation...
Folgende Datenpunkte sind hinzugekommen:
- "consumable.airFreshener" (Lufterfrischer Lebenswerwartung)
- "consumable.airFreshener_reset" (Lufterfrischer Lebenswerwartung zurücksetzen)
- "consumable.round_mop_reset" (Wischtücher Lebenswerwartung zurücksetzen)
- "control.extended.airDrying" (Lufttrocknung starten/stoppen)
- "control.extended.hostedCleanMode" (Gehosteten Reinigungsmodus starten)
- "control.extended.selfCleaning" (Reinigung der Wischtücher starten)
- "control.extended.voiceAssistant" (YIKO ein-/auschalten)
- "control.extended.washInterval" (Reinigungsintervall)
- "info.extended.washInterval" (Reinigungsintervall nur als Info - wird evtl. wieder entfernt)
- "info.extended.airDryingState" (Status der Luftreinigung - wird evtl. wieder entfernt)
- "info.extended.cleaningStation" (Kanal mit ein paar Infos zur Reinigungsstation)
- "info.extended.particleRemoval" (Laborfunktion Strategische Partikelentfernung)
- "info.extended.petPoopAvoidance" (Strategische "Haustierkotvermeidung" ein-/auschalten)
Folgende Status sind als "cleanstatus" hinzugekommen:
- "comeClean" (wenn per YIKO Sprachbefehl zum Reinigen gerufen)
- "washing" (wenn die Wischtücher gereinigt werden)
- "drying" (wenn die Wischtücher getrocknet werden)
Die genannten Datenpunkte und Status sind hauptsächlich für die X1 Serie relevant - teilweise aber auch für die T10 Serie - und am Rande für die T9 Serie.
Auch ein paar zusätzliche Verbesserungen und Optimierungen sind enthalten.
Viel Spaß
-
hast du was an dem DP
ecovacs-deebot.0.cleaninglog.lastTotalSeconds
geändert? Wird nicht mehr beschrieben, bleibt beim inhalt (null) stehen.
-
@chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:
hast du was an dem DP
ecovacs-deebot.0.cleaninglog.lastTotalSeconds
geändert? Wird nicht mehr beschrieben, bleibt beim inhalt (null) stehen.
Du meinst während der Reinigung?
-
@mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert.
Wenn ich den DP lösche und den Adapter neustarte steht ganz kurz die Zahl "0" drin, und dann wieder "(null)"
-
@chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:
@mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert
Muss ich mir später mal anschauen - bei meinen 3 Geräten funktioniert es.
-
Hallo, der Ladestatus ist immer auf charging, obwohl die Batterie bei 100 % ist. Lädt der dauernd? des weiteren gibt es mehrere DP davon.
ecovacs-deebot.0.info.chargestatus
ecovacs-deebot.0.status.device -
@sigi234 sagte in Ecovacs Deebot Adapter: Status und Feedback:
Hallo, der Ladestatus ist immer auf charging, obwohl die Batterie bei 100 % ist. Lädt der dauernd?
Das ist der Status den die API liefert. Grundsätzlich lädt das Gerät schon dauernd bzw immer mal wieder, da das Gerät ja alleine für die Bereitschaft und WiFi ein bisschen Akku verbraucht.
des weiteren gibt es mehrere DP davon.
ecovacs-deebot.0.info.chargestatus
ecovacs-deebot.0.status.device"status.device" ist ein kombinierter Status und die anderen unter "Info" haben den Status den die API liefert ...
-
Hallo,
ecovacs-deebot.0 2023-02-25 11:42:50.180 info Entering spot area with ID 8 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:42:45.737 info Loading map image ecovacs-deebot.0 2023-02-25 11:42:36.961 info Loading map image ecovacs-deebot.0 2023-02-25 11:42:34.036 info Entering spot area with ID 6 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:42:21.493 info Entering spot area with ID 4 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:42:09.026 info Entering spot area with ID 3 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:41:35.987 info Entering spot area with ID 2 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:41:22.436 warn Error: Error: IndexSizeError: The source width is 0.
-
Ist es möglich das du das änderst das die Daten die unter ecovacs-deebot.0.cleaninglog.current stehen erst zurückgesetzt werden wenn eine neue Renigung anfängt und nicht direkt wenn eine beenndet wird? Möchte ein paar Sachen loggen, habe aber Probleme damit das sich die DP von ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp, ecovacs-deebot.0.cleaninglog.lastSquareMeters usw. nicht zuverlässig aktualisieren.
-
@chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:
@mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert.
Wenn ich den DP lösche und den Adapter neustarte steht ganz kurz die Zahl "0" drin, und dann wieder "(null)"
Ich habe nachgeschaut - ich habe da zum letzten Mal im Mai 2022 was dran gemacht ...
Also wenn die anderen Datenpunkte unter "cleaninglog" aktualisiert werden, dann weiß ich gerade nicht was da los sein könnte ... -
@chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:
habe aber Probleme damit das sich die DP von ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp, ecovacs-deebot.0.cleaninglog.lastSquareMeters usw. nicht zuverlässig aktualisieren.
Was heißt das, dass die nicht zuverlässig aktualisiert werden?
Ich dachte es wäre nur "cleaninglog.lastTotalSeconds" ... -
Versuche schon seit gestern 2 Scripte zuschreiben, eines was ein JSON erstellt wenn der deebot zum "Wartungspunkt" fährt (das funktioniert jetzt) und ein das ein JSON für "normale" Reinigung. Problem ist das ich daten von "lastCleaning" dafür brauche die auch unter current.clean stehen. Bekomme es einfach nicht hin das wenn sich die Daten von lastCleaning ändern nach dem der Status von ecovacs-deebot.0.status.device auf "charging" steht zuerfassen.....
Vieleicht kann ja sonst jemand helfen
var idTable = '0_userdata.0.JSON.Deebot'; var idRaum = 'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName'; var idFlaeche = 'ecovacs-deebot.0.cleaninglog.lastSquareMeters'; var idDauer = 'ecovacs-deebot.0.cleaninglog.lastTotalTimeString'; var idAktiv = 'ecovacs-deebot.0.status.device'; var idWartungsplatz = '0_userdata.0.Deebot.Wartungsplatz'; var idWartungsplatzEIN = '0_userdata.0.Deebot.WartungsplatzEIN'; var idCleaningTimestamp = 'ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp'; var table = []; if (getState(idTable).val) table = JSON.parse(getState(idTable).val); var obj = {}; var startDate = new Date(); var lastExecutionTime = 0; var isCleaning = false; setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf true setzen on(idAktiv, function (dp) { if (getState(idWartungsplatz).val === false && dp.state.val === 'cleaning') { obj = {}; obj.Datum = formatDate(new Date(), 'YYYY-MM-DD '); obj.Start = formatDate(new Date(), 'hh:mm'); startDate = new Date(); isCleaning = true; setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf true setzen lastExecutionTime = dp.state.ts; } else if (getState(idWartungsplatzEIN).val === false && dp.state.val === 'charging' && hasStateChanged(idCleaningTimestamp)) { obj.Ende = formatDate(new Date(), 'hh:mm'); obj.Flaeche = getState(idFlaeche).val; obj.Raum = getState(idRaum).val; obj.Dauer = getState(idDauer).val; obj.Dauergesamt = formatDuration(Math.floor((new Date() - startDate) / 1000)); table.unshift(obj); if (table.length > 100) { table.pop(); } setState(idTable, JSON.stringify(table), true); lastExecutionTime = dp.state.ts; isCleaning = false; } }); function hasStateChanged(id) { const state = getState(id); if(!state) return false; // Die State-Variable existiert nicht if(state.ts <= lastExecutionTime || state.val === null) return false; // Der State hat sich seit dem letzten Ausführen des Scripts nicht geändert oder hat keinen Wert return true; } function formatDuration(seconds) { var minutes = Math.floor(seconds / 60); var remainingSeconds = seconds % 60; return pad(minutes, 2) + ':' + pad(remainingSeconds, 2); } function pad(number, length) { var str = '' + number; while (str.length < length) { str = '0' + str; } return str; } //on({id: idWartungsplatz, change: "ne"}, function(obj) { //if (obj.state.val) { // Deebot ist am Wartungsplatz // isCleaning = false; //} //});
-
Ich verstehe leider noch nicht so ganz, was jetzt unabhängig vom
BlocklyScript deine Probleme sind ...
Könntest Du das noch mal zusammenfassen?- Welches geändertes oder fehlerhaftes Verhalten vom Adapter hast du genau festgestellt?
- Was wären jetzt deine Wünsche an den Adapter um das
BlocklyScript umzusetzen? - Welche Fragen hast du speziell zur Fertigstellung des
BlocklyScripts?
-
@sigi234 sagte in Ecovacs Deebot Adapter: Status und Feedback:
Hallo,
ecovacs-deebot.0 2023-02-25 11:42:50.180 info Entering spot area with ID 8 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:42:45.737 info Loading map image ecovacs-deebot.0 2023-02-25 11:42:36.961 info Loading map image ecovacs-deebot.0 2023-02-25 11:42:34.036 info Entering spot area with ID 6 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:42:21.493 info Entering spot area with ID 4 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:42:09.026 info Entering spot area with ID 3 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:41:35.987 info Entering spot area with ID 2 (cleanStatus: spot_area) ecovacs-deebot.0 2023-02-25 11:41:22.436 warn Error: Error: IndexSizeError: The source width is 0.
Ich nehme mal an, dass du die "IndexSizeError: The source width is 0" Warnung meinst ...
Hast du in dem Zusammenhang ein Fehlverhalten festgestellt? -
@mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.
Hoffe du verstehts jetzt was ich meine
-
@chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:
@mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.
Hoffe du verstehts jetzt was ich meine
Sorry, ja das ist JavaScript Script (kein Blockly), aber bitte schreib das doch bitte nicht alles in einen großen Absatz bzw. Fließtext.
Ich hatte das doch extra schon so aufgeteilt wie ich das gerne hätte