NEWS
Views für ozmo Deebot
-
Testen kann ich ja dann machen
-
@chris76e sagte in Views für ozmo Deebot:
Testen kann ich ja dann machen
Alles klar
Ich habe den genannten Issue auch wieder geöffnet.
Da war damals am Anfang nicht ganz klar was überhaupt genau die Anforderungen sind
Die Implementierung von der Anforderung aus diesem Issue (was nicht ganz trivial war) ist nun aber eine gute Grundlage um dies nun auch ohne größeren Aufwand umsetzen zu können. -
In der Version 1.4.10-alpha.0 (Installation von GitHub) gibt es nun den Kanal "map.lastCleanedSpotArea"
Folgende Datenpunkte sind aktuell vorhanden:
- "map.lastCleanedSpotArea.mapID": ID der Map (Interessant bei mehreren Karten)
- "map.lastCleanedSpotArea.spotAreaID": ID der Spot Area
- "map.lastCleanedSpotArea.spotAreaName": Name des Bereichs (Spot Area)
- "map.lastCleanedSpotArea.totalSeconds": Dauer der Reinigung in Sekunden
- "map.lastCleanedSpotArea.totalTime": Dauer der Reinigung im Format "h mm ss" (z.B. "0h 03m 17s")
- "map.lastCleanedSpotArea.dateTime": Zeitpunkt der letzten Reinigung (Datum und Uhrzeit)
- "map.lastCleanedSpotArea.timestamp": Zeitpunkt der letzten Reinigung (Unix timestamp)
Freue mich auf Euer Feedback
Anmerkung:
- Die Datenpunkte tauchen erst auf, wenn zum ersten Mal eine Reinigung registriert wurde
- Benutzerdefinierte Bereiche (Custom Areas) werden nicht berücksichtigt. Das wäre noch mal ein anderes Feature.
- Die Bereiche die während einer Auto-Reinigung abgefahren werden werden aber berücksichtigt
- Es kann sein, dass die Dauer nicht stimmt, wenn der Bot kurz über eine Schwelle in einen anderen Bereich gefahren ist. Dann fängt das wieder neu an zu zählen. Es sollte aber trotzdem der zuletzt gereinigte Bereich eingetragen sein.
Beeinflussen kann man das noch mit der Einstellung "Schwellenwert für die Letzte Anwesenheit Funktion (Sekunden)".
-
funktioniert bei mir, danke.
Habe aber noch 2 Wünsche wenn machbar,- das die gereinigte Fläche erfasst wird.
- die daten in ein JSON , ähnlich wie jetzt schon im cleaninglog.
Gerade im Log gesehen
ecovacs-deebot.0 2022-12-22 14:31:49.083 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:48.061 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:44.038 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:43.080 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:41.032 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:40.140 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:37.083 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:36.046 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:33.087 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:31.080 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:30.033 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:29.049 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:26.035 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ecovacs-deebot.0 2022-12-22 14:31:23.075 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number"
-
@chris76e sagte in Views für ozmo Deebot:
funktioniert bei mir, danke.
Habe aber noch 2 Wünsche wenn machbar,
- das die gereinigte Fläche erfasst wird.
Kann ich nicht versprechen. Das war hier ganz schöner Aufwand ...
Meiner Meinung nach macht das auch nicht viel Sinn wiederholt zu messen, dass z.B. die Küche 18qm groß ist, oder?
- die daten in ein JSON , ähnlich wie jetzt schon im cleaninglog.
Was genau hättest du gerne als JSON? Das ist ja nicht vergleichbar mit dem cleaninglog.
Gerade im Log gesehen
ecovacs-deebot.0 2022-12-22 14:31:49.083 info State value to set for "ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp" has to be type "string" but received type "number" ...
Danke für den Hinweis. Werde ich korrigieren.
-
Vorweg, mache nur Spotreinigung falls wichtig.
Unter cleaninglog.lastSquareMeters ist doch die fläche vorhanden die gerade gereingit wurde...
Im JSON eigentlich das gleiche wie bisher, nur mit der erweiterung der SpotArea, so kann man sich eine Tabelle anzeigen lassen, wann welcher Raum gesaugt wurden ist bzw mann kann nach Räume filtern
-
@chris76e sagte in Views für ozmo Deebot:
Vorweg, mache nur Spotreinigung falls wichtig.
Wie ich bereits geschrieben habe: SpotAreas und Auto
Unter cleaninglog.lastSquareMeters ist doch die fläche vorhanden die gerade gereingit wurde...
Was benötigst du dann noch?
Im JSON eigentlich das gleiche wie bisher, nur mit der erweiterung der SpotArea, so kann man sich eine Tabelle anzeigen lassen, wann welcher Raum gesaugt wurden ist bzw mann kann nach Räume filtern
Ich verstehe es immer noch nicht was Du genau haben möchtest
-
Das lasse ich mir in meiner VIS anzeigen, hier wäres es toll wenn noch der Raum dabei steht damit ich halt sehen kann wann und wo gereinigt wurden ist.
-
@chris76e sagte in Views für ozmo Deebot:
Das lasse ich mir in meiner VIS anzeigen, hier wäres es toll wenn noch der Raum dabei steht damit ich halt sehen kann wann und wo gereinigt wurden ist.
Ach so, Du möchtest für die letzten 20 Reinigungen den zuletzt gereinigten Bereich in einem JSON haben.
Das kann ich mir mal überlegen, ob ich das noch machen möchte.Aber das mit dem Cleaning Log zu mergen macht wenig Sinn, weil da auch Custom Area Reinigungen dabei sein können. Außerdem kommt das Cleaning Log vom Roboter bzw. Ecovacs und wird schon in der Library zusammengebaut. Das wäre ein ziemliches Gefrickel und ob den Use Case außer Dir sonst noch wer hat weiß ich auch nicht...
-
OK, das wusste icht nicht das es direkt von Ecovacs kommt. Wegen mir musst du das nicht machen wenn es zuviel arbeit ist.
-
@chris76e sagte in Views für ozmo Deebot:
OK, das wusste icht nicht das es direkt von Ecovacs kommt. Wegen mir musst du das nicht machen wenn es zuviel arbeit ist.
Ja, die Daten an sich kommen von Ecovacs. Das ist im Endeffekt das was auch in der Mobile App angezeigt wird.
In der Library werden die Daten dann noch ein bisschen aufbereitet und dann an den ioBroker Adapter gesendet.@Wszene
Ich denke der ursprüngliche Wunsch ist erfüllt, oder? -
Habe noch einen kleinen schönheitsfehler gefunden.
Wenn man nach einer Reinigung nochmals den gleichen Raum reinigen lässt, dann wird der timestamp nicht zurückgesetzt sondern weiter gezählt.Hier ist ein Script womit ich mir auch die Räume der letzten Reinigungen in ein JSON habe.
const idTable = '0_userdata.0.JSON.Deebot'; const idRaum = 'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName'; const idEnde ='ecovacs-deebot.0.map.lastCleanedSpotArea.timestamp'; const idFlaeche = 'ecovacs-deebot.0.cleaninglog.current.cleanedArea'; const idDauer = 'ecovacs-deebot.0.map.lastCleanedSpotArea.totalTime'; const idAktiv = 'ecovacs-deebot.0.status.device'; var table = []; if(getState(idTable).val) table = JSON.parse(getState(idTable).val); var obj = {}; var startDate = new Date(); on(idAktiv, function(dp) { if(dp.state.val == 'cleaning') { obj = {}; obj.Datum = formatDate(new Date(), 'DD.MM.YY '); obj.Start = formatDate(new Date(), 'hh:mm'); } else if(dp.state.val == 'charging') { obj.Ende = getState(idEnde).val; obj.Dauer = getState(idDauer).val; obj.Flaeche = getState(idFlaeche).val; obj.Raum = getState(idRaum).val; log(table); table.push(obj); if(table.length > 50) table.shift(); setState(idTable, JSON.stringify(table), true); log(table); } });
-
Habe noch einen kleinen schönheitsfehler gefunden.
Wenn man nach einer Reinigung nochmals den gleichen Raum reinigen lässt, dann wird der timestamp nicht zurückgesetzt sondern weiter gezählt.Du meinst "map.lastCleanedSpotArea.totalTime"?
Weil der Timestamp darf ja nicht zurückgesetzt werden ... -
genau, mit totalTime. Wenn ich den gleichen Raum nochmals renige wird die Zeit weiter addiert. Mit timestamp unglücklich ausgedrückt
-
@chris76e sagte in Views für ozmo Deebot:
genau, mit totalTime. Wenn ich den gleichen Raum nochmals renige wird die Zeit weiter addiert. Mit timestamp unglücklich ausgedrückt
Ich vermute mal, dass der Roboter den Raum in dem Fall nicht verlassen hat. Kann das sein?
Also dass der Bot noch in dem Raum stand als du die zweite Reinigung gestartet hast -
ja, das ist der Raum wo die Ladestation steht.
Teste das jetzt aber auch mal mit einem anderen Raum -
@chris76e sagte in Views für ozmo Deebot:
ja, das ist der Raum wo die Ladestation steht.
Teste das jetzt aber auch mal mit einem anderen RaumAh ok, ja wenn das der Raum mit der Ladestation ist, dann kann das sein, dass ich da noch was extra behandeln muss. Das schaue ich mir noch mal an.
-
@chris76e sagte in Views für ozmo Deebot:
Adapter "icons-mfd-png"
Hallo Chris76e,
wäre es möglich die Views für ozmo Deebot nochmal zu exportieren?
Ich habe den Adapter "icons-mfd-png" bereits installiert gehabt.
Die Pfeile für die Rücksetzung sind ebenfalls vom gleichen Adapter und sind auch sichtbar, aber die Icons fehlen generell auf der rechten Seite, lediglich die Beschriftung ist noch da.
Vielen Dank im Voraus
-
-
Ist nur im Raum mit Ladestation, anderer Raum klappt richtig.