Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geplante Reinigungsaufgaben (Zeitsteuerung via Datenpunkte) #147

Closed
Domi920 opened this issue Jul 11, 2021 · 62 comments
Closed

Geplante Reinigungsaufgaben (Zeitsteuerung via Datenpunkte) #147

Domi920 opened this issue Jul 11, 2021 · 62 comments
Labels
Deebot OZMO 930 Deebot OZMO 930 Enhancement New feature or request Question Further information is requested

Comments

@Domi920
Copy link

Domi920 commented Jul 11, 2021

Hallo,
wäre es möglich die "Geplanten Reinigungsaufgaben" bzw. die Zeitsteuerung wie diese in der Originalen App zur Verfügung steht auch in IOBroker als Datenpunkte anzeigen & editierbar zu machen?

Natürlich ist mir klar, dass man eine Zeitsteuerung auch über Blockly realisieren könnte.
Allerdings wäre die schönere Variante wenn die Daten synchronisiert wären.
Zusätzlich wäre dass auch die ausfallsicherste Variante.
Habe einen Ecovacs Deebot 930. Dieser hat bekanntlich das Problem, dass nach mehreren Stunden die Verbindung verloren geht & man die Instanz neustarten muss.
Das empfohlene Zeitlimit für einen Neustart von 24 Stunden reicht dazu leider nicht aus.

Danke für die Bemühungen im Voraus!

Gruß Dominik

@Domi920 Domi920 added the Question Further information is requested label Jul 11, 2021
@Domster91
Copy link

Das würde ich auch genial finden wenn so etwas möglich wäre :)

@Domi920 ich habe auch einen 930 seitdem ich von einem Raspberry auf mein Synology Nas umgezogen bin verliert meine Instanz den Roboter nicht mehr oder nur noch in Ausnahme Fällen! Entweder ist das der Grund oder eins der neueren Updates hat das ganze gefixt. Was ich deaktiviert habe bzw nicht mehr nutze ist die Funktion den Roboter zu finden mit ( der Roboter befindet sich hier ) da das manchmal zum Sprachverlust geführt hat bzw auch zum Verlust der Verbindung auch wenn die Instanz grün blieb..

@mrbungle64
Copy link
Owner

@Domi920

Dieser hat bekanntlich das Problem, dass nach mehreren Stunden die Verbindung verloren geht & man die Instanz neustarten muss.

Ich gebe Dir recht, dass das vorkommen kann. Aber wo hast Du die Info her, dass das ein bekanntes Problem ist, dass das regelmäßig nach ein paar Stunden passiert?

Auf welchem Stand ist Dein System?

  • Adapter version: [e.g. "1.1.0"] (see "info.version")
  • Library version: [e.g. "0.5.6"] (see "info.library.version")
  • Source/Repo: [e.g. "ioBroker Stable", "ioBroker Latest", "GitHub"]
  • Node.js version: [e.g. "v10.23.0"]
  • JS controller version: [e.g. "3.1.6"]
  • Operating system: [e.g. "Linux", "Windows 10"]
  • Hardware: [e.g. "Raspberry Pi 4"]

Ich hatte das auch zwischendurch mal, dass das öfters passiert ist - aktuell hält die Instanz aber i.d.R. die 24 Stunden durch.

@mrbungle64
Copy link
Owner

@Domster91

Was ich deaktiviert habe bzw nicht mehr nutze ist die Funktion den Roboter zu finden mit ( der Roboter befindet sich hier ) da das manchmal zum Sprachverlust geführt hat

Das ist ein bekanntes Problem - unabhängig von dem Befehl des Adapters (siehe Abschnitt "Sonstiges")
https://www.roboter-forum.com/index.php?thread/25890-allgemeine-hilfe-bei-problemen-mit-dem-ozmo930-leitfaden-ende-der-aktualisierung/

bzw auch zum Verlust der Verbindung auch wenn die Instanz grün blieb..

Das ist mir neu. Ich habe den OZMO 930 seit Dezember 2019 und das so noch nie direkt feststellen können - auch ansonsten meine ich das noch nie gehört zu haben, dass das direkt miteinander in Verbindung steht.
Dass der OZMO 930 generell öfter wieder "aufgeweckt" (oder neu gestartet) werden muss als andere Modelle habe ich auch schon festgestellt - aber ich sehe das nicht im Zusammenhang mit dem Adapter.

Falls Du das mit dem Adapter in Verbindung bringst würde ich Dich bitten einen Bug Report zu erstellen.

@mrbungle64
Copy link
Owner

@Domi920 @Domster91

Nun zum eigentlichen Anliegen von Euch 😉

Ändert Ihr den Zeitplan regelmäßig?
Könnt Ihr mir vielleicht mal kurz einen Use Case nennen, für den sich der Entwicklungsaufwand lohnen würde?

Die Sache ist nämlich, dass der Aufwand gar nicht so gering wäre (ist zumindest bisher meine Einschätzung).

@mrbungle64 mrbungle64 added Deebot OZMO 930 Deebot OZMO 930 Enhancement New feature or request labels Jul 11, 2021
@Domi920
Copy link
Author

Domi920 commented Jul 12, 2021

@mrbungle64 Die Grundinformation habe ich aus deiner Beschreibung hier in Github:
"Known issues
For some models (e.g. Deebot OZMO 930) it is recommended to schedule a restart once a day because there are some reports that the connection is lost after approx. 24 hours"
Darauf hin habe ich ein Blockly geschrieben, was die Instanz jeden Tag um 3 Uhr Neu startet.
Die deaktivierten Bausteine machten das gleiche wie der aktivierte Baustein. (Wollte es nur eleganter Lösen):
Neustart Instanz

Soweit ich mich noch richtig erinnere hatte es am Abend schon Probleme gegeben, dass der Adapter dem Anschein nach keine Verbindung zum Roboter hat.
Habe es aktuell so gelöst, dass vor dem Senden des Befehls, erst die Instanz neu gestartet wird.
Aber Dauerlösung sollte das natürlich nicht sein.
Evtl. wäre es sinnvoll einen Neustart alle 8 Stunden oder so zu machen.
Nur wäre dann die Frage wie der Adapter dann umgeht wenn genau im Neustart der Instanz ein Befehl kommen würde.
Wenn ich weitere Informationen von dir habe, werde ich das automatische Neustarten gerne nochmal ausführlich testen!

Hier ein paar weitere Daten von mir:
raspberrypi
Platform
linux
Betriebssystem
linux
Architektur
arm
CPUs
4
Geschwindigkeit
1500 MHz
Modell
ARMv7 Processor rev 3 (v7l)
RAM
7.78 GB
System Betriebszeit
118 T. 11:05:27
Node.js
v12.20.0 (Es gibt eine neuere Version: v12.22.3)
NPM
6.14.8
Hardware
RaspberryPi 4
Adapterversion (+library version)
1.1.1 (0.6.0-alpha.9)

Noch eine Frage nebenbei:
Es gab mal ein Gesprächsthema, dass die Karte in die Visualisierung angezeigt werden kann.
Gibt es diese Option beim 930 ?
Wäre es dann auch möglich Echtzeit-Tracking (wie in der App) zu empfangen?

Nun zur Zeitprogrammierung:
Ein konkretes Beispiel wäre:
Je nach aktueller Schicht von der Arbeit könnte sich die Zeitprogrammierung automatisch ändern.
Wäre dann im Kalender Nachtschicht eingetragen, könnte man dies mit Blockly aus dem Kalender auslesen & den Roboter zu anderen Zeiten fahren lassen.
Somit würde man nicht geweckt werden.

Kann das sein dass die Schwierigkeit darin liegt, dass man im voraus nicht weiß wie viel Datenpunkte man automatisch anlegen müsste im Adapter?
Natürlich wäre das super wenn man dies benutzerfreundlich eintragen könnte.
Aber zur Not wäre es auch schon mal eine große Hilfe die komplette Programmierung z. B. im JSON-Format in einen Datenpunkt zu hinterlegen.
Dann könnte man einfach nur die entsprechend richtige Zeile automatisch in den Datenpunkt schreiben lassen.

Finde es richtig super dass du so viel Zeit & Mühen investierst!!!

Gruß Dominik

@mrbungle64
Copy link
Owner

@Domi920

Darauf hin habe ich ein Blockly geschrieben, was die Instanz jeden Tag um 3 Uhr Neu startet.

Warum startest Du die Instanz nicht per CRON-Zeitplan unter "Instanzen" neu?
Dort kannst Du den Neustart recht flexibel (also auch mehrmals pro Tag - falls nötig) mit Bordmitteln planen.

Evtl. wäre es sinnvoll einen Neustart alle 8 Stunden oder so zu machen.

Du kannst ja mal probieren, ob es bei Dir etwas bringt, wenn Du 2-3 Uhrzeiten identifizierst, wo der Bot eigentlich nie (oder sehr selten) am Saugen ist und den Neustart per CRON-Zeitplan planen. Normalerweise sollte 1x am Tag aber reichen - aber das ist natürlich von verschiedenen Faktoren abhängig.

In den Adapter möchte ich aber auf keinen Fall einen zeitgesteuerten Neustart einbauen.
Grundsätzlich muss man dazu auch noch sagen, dass die Ecovacs API nicht dafür ausgelegt ist 24/7 eine Verbindung aufrecht zu erhalten. Die ist eigentlich nur für die Mobile App ausgelegt, wo man vergleichsweise selten eine Verbindung offen hat. Die Mobile App baut entweder pro Sitzung oder View eine neue Verbindung auf, was aber erfahrungsgemäß auch nicht immer zuverlässig funktioniert (wobei es inzwischen besser geworden ist).

Ansonsten kannst Du natürlich auch mal die Version 1.2.0 aus dem Latest/Beta Repo probieren. Vielleicht werden die Verbindungsabbrüche dann ja weniger bei Dir. Ich habe bei meinem OZMO 930 aktuell (fast) keine Probleme damit.

@mrbungle64
Copy link
Owner

@Domi920

Kann das sein dass die Schwierigkeit darin liegt, dass man im voraus nicht weiß wie viel Datenpunkte man automatisch anlegen müsste im Adapter?

"Schwierigkeit" würde ich das nicht nennen, aber das wäre einer der Punkte, warum insgesamt ein gewisser Zeitaufwand dahinter stecken würde. Aber das alleine würde mich nicht davon abhalten.

Es gibt leider noch weitere Punkte:

  • Ich kenne bisher nur den Befehl zum Abrufen des Reinigungsplans - nicht aber den Befehl (und die Parameter) zum Erstellen und Löschen von einzelnen Reinigungsaufgaben.
  • Der Befehl zum Abrufen des Reinigungsplans funktioniert "nur" beim OZMO 930 - nicht aber bei den 2 anderen Modellen die ich habe. Grundsätzlich gibt es 3 verschiedene Modell-Typen - wenn dann würde ich das auch gerne direkt für alle 3 implementieren.

Es ist halt immer wieder ein Problem, dass es keine öffentlich zugängliche Doku der Ecovacs API gibt.

Natürlich wäre das super wenn man dies benutzerfreundlich eintragen könnte.

Ja, das wäre mein Anspruch, dass man es halbwegs benutzerfreundlich eintragen könnte.

@mrbungle64
Copy link
Owner

mrbungle64 commented Jul 12, 2021

@Domi920

Noch eine Frage nebenbei:
Es gab mal ein Gesprächsthema, dass die Karte in die Visualisierung angezeigt werden kann.
Gibt es diese Option beim 930 ?

Aktuell noch nicht - aber wir arbeiten daran 😉

Wäre es dann auch möglich Echtzeit-Tracking (wie in der App) zu empfangen?

Vielleicht - aber ich bin ehrlich gesagt kein Freund von Live-Maps, weil man dann den Server unnötig mit dem Erstellen von Einzelbildern beschäftigt. Meistens schaut man ja doch nicht drauf - der Server generiert dann aber während der Reingung trotzdem fröhlich Einzelbilder. Das kann dann einen Raspberry auch mal gut auslasten.

Aktuell wäre mein Plan, dass man die Einzelbilder manuell erzeugen kann - inkl. der Position des Bots. Das kann man dann in eine VIS einbauen.

@mrbungle64
Copy link
Owner

@Domi920

Ein konkretes Beispiel wäre:
Je nach aktueller Schicht von der Arbeit könnte sich die Zeitprogrammierung automatisch ändern.
Wäre dann im Kalender Nachtschicht eingetragen, könnte man dies mit Blockly aus dem Kalender auslesen & den Roboter zu anderen Zeiten fahren lassen.
Somit würde man nicht geweckt werden.

Das verstehe ich soweit - leuchtet mir auch als valider Use Case ein 😉
Ich würde aber trotzdem gerne noch mal abwarten, ob noch mehr Use Cases genannt werden (z.B. von @Domster91)

@Domi920
Copy link
Author

Domi920 commented Jul 13, 2021

@mrbungle64

Warum startest Du die Instanz nicht per CRON-Zeitplan unter "Instanzen" neu?
Dort kannst Du den Neustart recht flexibel (also auch mehrmals pro Tag - falls nötig) mit Bordmitteln planen.

Habe dies im Blockly gemacht, da ich die Möglichkeit hätte Variablen bzw. Datenpunkte mit einzubringen.
Bei Instanzen würde das einfacher & schneller gehen, da hast du recht!

Ansonsten kannst Du natürlich auch mal die Version 1.2.0 aus dem Latest/Beta Repo probieren. Vielleicht werden die Verbindungsabbrüche dann ja weniger bei Dir. Ich habe bei meinem OZMO 930 aktuell (fast) keine Probleme damit.

Muss ich die Version dann über das Github-Symbol installieren?

Zum Thema Zeitsteuerung wäre es natürlich super wenn du das implementieren könntest!
Das dies nicht ganz einfach ist glaube ich dir sofort!

Aktuell noch nicht - aber wir arbeiten daran 😉

Danke das würde echt super sein, wenn man die Karte hinzufügen könnte. Dann warte ich mal geduldig :-)

Vielleicht - aber ich bin ehrlich gesagt kein Freund von Live-Maps, weil man dann den Server unnötig mit dem Erstellen von Einzelbildern beschäftigt. Meistens schaut man ja doch nicht drauf - der Server generiert dann aber während der Reingung trotzdem fröhlich Einzelbilder. Das kann dann einen Raspberry auch mal gut auslasten.
Aktuell wäre mein Plan, dass man die Einzelbilder manuell erzeugen kann - inkl. der Position des Bots. Das kann man dann in eine VIS einbauen.

Da hast du natürlich vollkommen recht.
Aber wäre es nicht möglich die Karte nur selten als Bild zu Synchronisieren und zusätzlich ein transparentes Bild zu erstellen in dem dann nur die Position des Saugroboters als Punkt oder so enthalten ist.
In der Vis könnte man beide "Bilder" übereinander liegen, hätte eine Live-Ansicht & würde dabei vieles an Datentransfer sparen.
Wäre sowas in der Art eine plausible Vorgehensweiße?
Mit deinem Vorschlag könnte man z. B. mit Blockly realsieren dass die Einzelbilder nur öfters abgerufen werden, wenn man aktiv auf der Saugroboter-Seite in der Vis ist.
Bin gespannt auf eine Lösung von dir - die Karte wäre noch das Highlight!

Das verstehe ich soweit - leuchtet mir auch als valider Use Case ein 😉
Ich würde aber trotzdem gerne noch mal abwarten, ob noch mehr Use Cases genannt werden (z.B. von @Domster91)

Hoffe auch dass es eine größere Beteiligung gibt!
@Domster91 hast du ein Beispiel?

@mrbungle64
Copy link
Owner

@Domi920

Muss ich die Version dann über das Github-Symbol installieren?

Nein, Du müsstest in den Einstellungen vom ioBroker den aktiven Verwahrungsort von "Stable" auf "Latest" oder "Beta" ändern (je nachdem wie der bei dir benannt ist).
Danach unter "Adapter" mal aktualisieren, so dass die neueren Versionen der Adapter erscheinen.
Dann die Version 1.2.0 installieren und anschließend den Verwahrungsort wieder auf "Stable" stellen (das ist wichtig).

@mrbungle64
Copy link
Owner

@Domi920

Hattest Du die Version 1.2.0 mal installiert?

@Domi920
Copy link
Author

Domi920 commented Jul 19, 2021

@mrbungle64 Ja, habe die Version bereits vor einigen Tagen installiert.
Meiner Meinung nach läuft diese Version länger als die "alte".
12 Stunden ohne Neustart sind bis jetzt kein Problem!
Werde noch ein wenig weiter testen und dann gerne hier berichten.

Danke der Nachfrage!

@mrbungle64
Copy link
Owner

@Domi920

Klingt schon mal besser 😉
Lässt Du nun per CRON oder Blockly nach 12 Stunden autom. neu starten?

@Domi920
Copy link
Author

Domi920 commented Jul 20, 2021

Der Einfachheit halber aktuell über CRON in den Instanzen.
Meinst du dass dies einen Unterschied macht wie man die Instanz Neu startet?
Ein Neustart in 24 Stunden reicht aber definitiv nicht aus.
Gibt es denn eine Möglichkeit das Beste Neustart-Intervall rauszufinden?

@mrbungle64
Copy link
Owner

mrbungle64 commented Jul 20, 2021

@Domi920

Der Einfachheit halber aktuell über CRON in den Instanzen.
Meinst du dass dies einen Unterschied macht wie man die Instanz Neu startet?

Nicht wirklich. Mir ging es hauptsächlich darum, ob die 12 Stunden quasi ein Durchschnittswert bzw. Erfahrungswert sind, oder ob du nach 12 Stunden autom. neu starten lässt.

Ein Neustart in 24 Stunden reicht aber definitiv nicht aus.
Gibt es denn eine Möglichkeit das Beste Neustart-Intervall rauszufinden?

Ich wüsste nicht wie ... Das wird von mehreren Faktoren abhängig sein und wie schon gesagt gehe ich davon aus, dass die Ecovacs API nicht dafür ausgelegt sein wird eine stabile Verbindung aufrecht zu erhalten, da diese nur für die Mobile App konzipiert sein wird. Bei so etwas ist es dann schwierig solche Dinge herauszufinden.

Bei mir läuft es die 24 Stunden aber problemlos durch.
Bei @Domster91 hat es sich auch danach angehört, als würden die 24 Stunden kein Problem mehr sein.

@Domi920
Copy link
Author

Domi920 commented Jul 21, 2021

Ok, dann werde ich bei der Neustartoption bleiben.
Hast du in der 23. Stunde nach den Neustart schon mal einen Befehl zum Senden versucht?
Welche Firmware hast du auf deinem 930er?

Ohne jetzt aufdringlich wirken zu wollen, wann meinst du ungefähr wann ein Update für die neuen Funktionen kommen werden?

@mrbungle64
Copy link
Owner

mrbungle64 commented Jul 21, 2021

@Domi920

Ok, dann werde ich bei der Neustartoption bleiben.
Hast du in der 23. Stunde nach den Neustart schon mal einen Befehl zum Senden versucht?

Nein bisher noch nicht. Dazu muss ich das erst mal auf eine andere Uhrzeit legen.

Ist die Instanz dann eigentlich noch grün bei Dir, wenn die Befehle nicht mehr ausgeführt werden?

Welche Firmware hast du auf deinem 930er?

1.10.4

Ohne jetzt aufdringlich wirken zu wollen, wann meinst du ungefähr wann ein Update für die neuen Funktionen kommen werden?

Mit Update meinst Du, dass die Funktionen bereits implementiert sind und per Update zur Verfügung stehen oder erst mal nur, wann es dazu ein Info-Update gibt?

@Domi920
Copy link
Author

Domi920 commented Jul 22, 2021

Als ich im 24-Stunden Rhythmus neu gestartet habe wurden in der 23. Stunde keine Signale mehr verarbeitet.
Deswegen finde ich ein Neustartintervall von 24 Stunden nicht ausreichend.

Habe im Haushalt 2 Roboter vom Typ 930.
Beide haben verschiedene Firmware Versionen:

  • 1.9.9
  • 1.10.4
    In beiden Fällen leuchtet jeweils die Instanz grün.
    Es lässt sich also nicht darüber feststellen ob die Befehle funktionieren.

Mit Update meinte ich allgemein.
Du hattest mir mitgeteilt, dass du eine (Live)Karte für den 930er integrieren willst.
Und evtl. Integration von Zeitsteuerungen.
Werden diese Neuerungen in den Adapter integriert oder gibt es jetzt bereits Probleme in der Machbarkeit?
Wann meinst du darf man sich auf diese Neuerungen freuen?

@mrbungle64
Copy link
Owner

@Domi920

Als ich im 24-Stunden Rhythmus neu gestartet habe wurden in der 23. Stunde keine Signale mehr verarbeitet.

Ich habe den Zeitpunkt für den Neustart bei mir mal von 7 Uhr auf 23 Uhr verlegt, so dass ich das mal explizit nach 23 Stunden testen kann.

...

Mit Update meinte ich allgemein.
Du hattest mir mitgeteilt, dass du eine (Live)Karte für den 930er integrieren willst.

Ja, wir arbeiten generell an einer Kartenintegration. Die Karte für die 950 artigen Modelle ist ab der 1.2.0 auch schon abrufbar im Adapter (nicht aber die Live-Karte).
Ich hatte mit der Variante für den OZMO 930 (und weitere Modelle) auch bereits begonnen - aber es vorerst wieder abgebrochen weil es Speicherüberlauffehler mit der Canvas-Library gab. Damit muss ich mich also noch mal genauer beschäftigen. Wann ich das wieder angehe weiß ich noch nicht. Dazu braucht es Zeit und vor allem Muße 😉
Ob jemals eine Live-Karte integriert wird kann ich noch nicht sagen. Dazu hatte ich ja schon was geschrieben.

Und evtl. Integration von Zeitsteuerungen.

Ich habe bereits in der Library implementiert, dass man die Reinigungspläne von allen 3 Modell-Typen abrufen kann. Mein Plan ist es dies relativ bald in den Adapter zu integrieren (read-only).
Zum Erstellen, Ändern und Löschen von Reinigungsplänen muss ich wie gesagt erst mal die Befehle herausfinden. Wenn das der Fall ist kann ich vielleicht mehr dazu sagen, ob und ggf. wann es damit soweit sein könnte.

Werden diese Neuerungen in den Adapter integriert oder gibt es jetzt bereits Probleme in der Machbarkeit?
Wann meinst du darf man sich auf diese Neuerungen freuen?

Wir sprechen hier von mind. 2 nicht gerade trivialen Funktionen die für optimalerweise 3 Modell-Typen (+ die Modell-spezifischen Details) umgesetzt und dann auch gepflegt und supported werden müssen. Da möchte ich ungern "Versprechungen" machen. Ich hoffe Du verstehst das 😉
Ich möchte die Funktionen auch ungern für nur genau eine Modell oder Modell-Typ implementieren - es sei denn es sind "low-hanging fruits" oder es ist für die akuellen Modell-Typen (aktuell sind das die 950 artigen Modelle wie z.B. 920, 950, N8, T8, T9).

@mrbungle64
Copy link
Owner

mrbungle64 commented Jul 22, 2021

@Domi920

Als ich im 24-Stunden Rhythmus neu gestartet habe wurden in der 23. Stunde keine Signale mehr verarbeitet

Ich kann das Verhalten jetzt soweit bestätigen:
Nach 23 Stunden war die Instanz zwar noch grün - der OZMO 930 hat aber auf keine Befehle mehr reagiert.
Das hatte ich bisher noch nicht gemerkt, weil die Instanz bisher morgens um 7 Uhr neu gestartet wurde und es so wohl ausgereicht hatte.
Ich werde mir dazu mal Gedanken machen.

@Domi920
Copy link
Author

Domi920 commented Jul 23, 2021

@mrbungle64 Vielen Dank für deine ausführlichen Antworten!
Ich finde es sehr bewunderswert wie viel Zeit du hier investierst!

Mir ist es durchaus bewusst, dass Versprechungen aufgrund des Aufwands schwer gegeben werden können.
Allerdings haben diese Themen meine Neugier geweckt, deswegen wollte ich vorab schon mal nachfragen.

Ich kann das Verhalten jetzt soweit bestätigen:
Nach 23 Stunden war die Instanz zwar noch grün - der OZMO 930 hat aber auf keine Befehle mehr reagiert.
Das hatte ich bisher noch nicht gemerkt, weil die Instanz bisher morgens um 7 Uhr neu gestartet wurde und es so wohl ausgereicht hatte.
Ich werde mir dazu mal Gedanken machen.

Bin gespannt auf welche Lösung du kommst.

@mrbungle64
Copy link
Owner

@Domi920

Mal eine Frage zwischendurch:
Kann es sein, dass das die Verbindung des Adapters bei Dir unterbrochen wird, wenn die Internetverbindung (von Dir oder Deinem Provider) geplant neu gestartet wird oder die Internetverbindung generell vielleicht ein bisschen instabil ist?

@mrbungle64
Copy link
Owner

@Domi920

Mal eine Frage zwischendurch:
Kann es sein, dass das die Verbindung des Adapters bei Dir unterbrochen wird, wenn die Internetverbindung (von Dir oder Deinem Provider) geplant neu gestartet wird oder die Internetverbindung generell vielleicht ein bisschen instabil ist?

@Domi920

Hast Du hierzu Infos für mich?

@Domi920
Copy link
Author

Domi920 commented Aug 1, 2021

Sorry für die verspätete Antwort!
Einen geplanten Neustart der Internetverbindung gibt es nicht.
Laut Protokoll im Router wird die Internetverbindung täglich 1x um 3:20 Uhr getrennt und eine Minute darauf wieder hergestellt.
Instabil ist die Verbindung nicht.

@mrbungle64
Copy link
Owner

@Domi920

Laut Protokoll im Router wird die Internetverbindung täglich 1x um 3:20 Uhr getrennt und eine Minute darauf wieder hergestellt.

ok, dann solltest Du den (ersten) geplanten Neustart von der Adapter Instanz (falls noch nicht geschen) auf jeden Fall danach legen. Am besten gegen 03:30 Uhr. In Deinem Blockly Skript war das ja noch um 03:00 Uhr.

Als ich den geplanten Neustart vorverlegt hatte gab es bei mir auch mehr Probleme, denn mein Router wird (geplant) um 06:30 Uhr neu gestart. Um diese Uhrzeit ist die Verbdinung der Instanz dann auch teilweise abgebrochen.

@mrbungle64
Copy link
Owner

Btw.:

  • Ich habe inzwischen ein paar Datenpunkte eingebaut, mit denen so was besser monitoren und analysieren kann.
  • Und man kann nun für sämtliche Modelle (inkl. dem OZMO 930) eine statische Map abrufen, in welcher die Position vom Bot, der Ladestation und die Virtuellen Grenzen eingezeichnet sind. Dies wird man vorraussichtlich ab der nächsten Version als experimentelle Funktion freischalten können.

@mrbungle64 mrbungle64 removed the Waiting for feedback Waiting for feedback label Oct 18, 2021
@stale stale bot removed the Wontfix This will not be worked on label Oct 18, 2021
@mrbungle64
Copy link
Owner

@Domi920

Es tut mir leid, aber ich denke nicht, dass ich die "Geplanten Reinigungsaufgaben (Zeitsteuerung via Datenpunkte)" noch umsetzen werde.

In diesem Issue habe ich von @Domster91 keine Antwort auf meine Frage bzgl. dem Use Case bekommen und im ioBroker Forum hat sich im aktuellen Topic auch niemand gemeldet der die Funktion benötigt.
Ich selbst benötige diese Funktion auch nicht, da ich meine Saugroboter nicht nach einem Zeitplan steuere 😉

Ich scheint sich also nicht wirklich zu lohnen den doch verhältnismäßig hohen Aufwand zu betreiben.

@mrbungle64 mrbungle64 added the Wontfix This will not be worked on label May 16, 2022
@Domi920
Copy link
Author

Domi920 commented May 18, 2022

@mrbungle64

Ich finde es sehr schade dass der Adapter wahrscheinlich nicht um diese tolle Funktion erweitert wird.
Aber ich verstehe auch Ihre Begründung & Entscheidung.
Sollte es aber dennoch mal nebenbei, für Sie einfach zu integrieren sein, wäre ich auch über einen Datenpunkt im JSON Format oder so dankbar.

Danke für die Zeit die Sie trotzdem für das Beantworten hier investiert haben!

Gruß Dominik

@mrbungle64
Copy link
Owner

@Domi920

... wäre ich auch über einen Datenpunkt im JSON Format oder so dankbar.

Würde Dich read-only auch schon weiterbringen?

@Domi920
Copy link
Author

Domi920 commented May 18, 2022

@Domi920

... wäre ich auch über einen Datenpunkt im JSON Format oder so dankbar.

Würde Dich read-only auch schon weiterbringen?

Ja das wäre sehr hilfreich :-)

@mrbungle64
Copy link
Owner

@Domi920

... wäre ich auch über einen Datenpunkt im JSON Format oder so dankbar.

Würde Dich read-only auch schon weiterbringen?

Ja das wäre sehr hilfreich :-)

ok, das sollte kein Problem sein 😉

@Domi920
Copy link
Author

Domi920 commented May 18, 2022

Vielen Dank!
Das ist echt ein toller Service!
Wann wird dies ungefähr implementiert?

@mrbungle64
Copy link
Owner

mrbungle64 commented May 18, 2022

Vielen Dank! Das ist echt ein toller Service! Wann wird dies ungefähr implementiert?

Read-only ist das schnell erledigt, da ich den Get Command für alle Modell-Typen kenne - aber nicht, wie der Set Command aufgebaut ist.
Damit fällt dann ja auch der Teil "Zeitsteuerung" weg - der es so oder so recht aufwändig macht.

@Domi920
Copy link
Author

Domi920 commented May 18, 2022

Perfekt, dann freue ich mich auf das Update.

@mrbungle64
Copy link
Owner

mrbungle64 commented May 18, 2022

@Domi920

Kann schon getestet werden 😉

Du musst es allerdings über folgende URL installieren ("Den Adapter von URL installieren oder aktualisieren"):
https://github.com/mrbungle64/ioBroker.ecovacs-deebot/tree/last20Errors

Der Datenpunkt ist "info.extended.currentSchedule".

Zur Info: aktuell wird das nur beim Start des Adapters aktualisiert

@mrbungle64 mrbungle64 reopened this May 18, 2022
@Domi920
Copy link
Author

Domi920 commented May 18, 2022

Wundervoll!
Die Lösung klappt.

Nochmals vielen Dank!

Zu deiner Info:
Wäre es vll möglich einen Button als Datenpunkt hinzuzufügen, um den Plan abzuholen bzw. aktualisieren?

Wenn man z. B. im Vis eine Seite für den Saugroboter hat, könnte man mit einen Skript den Datenpunkt zum aktualisieren betätigen.

Sind bereits noch weitere, neue Funktionen in Zukunft geplant?

Gruß Dominik

@stale stale bot removed the Wontfix This will not be worked on label May 18, 2022
@mrbungle64
Copy link
Owner

Wundervoll! Die Lösung klappt.

Nochmals vielen Dank!

Gerne, freut mich, dass die Lösung so für dich passt 👍🏻

Zu deiner Info: Wäre es vll möglich einen Button als Datenpunkt hinzuzufügen, um den Plan abzuholen bzw. aktualisieren?

Wenn man z. B. im Vis eine Seite für den Saugroboter hat, könnte man mit einen Skript den Datenpunkt zum aktualisieren betätigen.Polling

Ja, das wäre eine Möglichkeit. Ich möchte wegen dem Reinigungsplan halt nicht im normalen Intervall (15-60 Sek.) abfragen, weil sich das in meisten Fällen selten oder nie ändert. Da wäre eine Button schon eine gute Idee.
Bei aktuelleren Modellen kommen die Daten auch ohne Polling rein - direkt wenn die Änderung in der App erfolgt ist. Da würde ich dann eher keinen Button anbieten. Mal schauen ... 😉

Sind bereits noch weitere, neue Funktionen in Zukunft geplant?

Ja, möchte schon noch weitere Funktionen implementieren. Meistens setze ich Dinge aber eher spontan um - wenn ich gerade Lust dazu habe bzw. irgendeine Motivation dafür da ist - und die Zeit dafür natürlich passt. Von daher habe ich da (aktuell) keine klare Roadmap 😉

Gruß Dominik

@mrbungle64
Copy link
Owner

@Domi920

Ich habe den Button mal eingebaut: "info.extended.currentSchedule_refresh"
Du musst wieder über die URL https://github.com/mrbungle64/ioBroker.ecovacs-deebot/tree/last20Errors installieren.

@Domi920
Copy link
Author

Domi920 commented May 19, 2022

Habe gerade die Installation, genau wie beim Letzten mal erledigt.
Allerdings befindet sich kein weiterer Datenpunkt.
Habe ich was falsch gemacht?

@mrbungle64
Copy link
Owner

Habe gerade die Installation, genau wie beim Letzten mal erledigt. Allerdings befindet sich kein weiterer Datenpunkt. Habe ich was falsch gemacht?

Gute Frage, ob Du was falsch gemacht hast 😉
Aber bei mir wird auf 2 Systemen (und auch inkl. einem OZMO 930) alles korrekt erstellt...
Hast du die Adapter Instanz schon neu gestartet?
Falls ja und wenn Du alles so gemacht hast wie beim letzten mal, dann sollte es eigentlich auch klappen 😉
Probier es einfach noch mal - und falls es dann immer noch nicht funktioniert lösche mal den "info.extended" Kanal (inkl. Datenpunkt) und starte dann die Adapter Instanz neu.

@Domi920
Copy link
Author

Domi920 commented May 19, 2022

Ein Neustart der Instanz hat den Datenpunkt erstellt.
Finde auch gut dass sich der Datenpunkt mit dem Zeitplan nicht aktualisiert, wenn es keine Änderung gab.
Bei Betätigung des Buttons.

Vielen Dank für die großartige Arbeit!

@mrbungle64
Copy link
Owner

Vielen Dank für die großartige Arbeit!

👍🏻

Die Funktion ist nun auch in der 1.4.3-alpha.2.
Ich denke dass ich spätestens am WE dann die finale 1.4.3 im Latest/Beta Repo veröffentliche.
Ich schließe den Issue dann nun wieder 😅

@Domi920
Copy link
Author

Domi920 commented Jun 24, 2022

Hallo nochmal,
leider muss ich mich nochmal melden, weil ich es nicht schaffe die Daten aus den JSON zu holen.

Das JSON sieht bei mir so aus:
[ { "sid": "timing_name_648006833100", "cleanCtl": { "type": "SpotArea", "spotAreas": "0,2" }, "enabled": true, "onlyOnce": false, "weekdays": { "Mon": false, "Tue": true, "Wed": true, "Thu": false, "Fri": true, "Sat": true, "Sun": true }, "hour": "18", "minute": "0" } ]

Habe schon mehrere Versuche gestartet, sämtliche Werte aus dem JSON zu holen, allerdings bekomme ich immer nur undefined zurück.

JSON Export NIO

hab schon sämtliche Schreibweisen probiert, ohne Erfolg.
Was mache ich falsch?

Oder gibt es noch einen schöneren & einfacheren Weg die Daten rauszubekommen?

Gruß Dominik

@mrbungle64
Copy link
Owner

@Domi920

Die einzelnen Tasks (in deinem Beispiel ist es aber nur einer) stecken in einem Array.
Bedeutet in Blockly, dass du mit den Listen-Funktionen arbeiten musst.

@Domi920
Copy link
Author

Domi920 commented Jun 29, 2022

@mrbungle64 Danke für deine Hilfe!
Hättest du für mich ein kleines Beispiel, wie man die Anzahl der Zeitpläne und die einzelnen Daten wie z. B. die Stunde rausholen kann?
Vll macht auch ein zusätzlicher Datenpunkt Sinn, in dem der komplette Zeitplan als Text formuliert ist.

Wenn ich ein Beispiel hätte, könnte ich es nach belieben erweitern.

Danke nochmal im Voraus für deine Hilfe!!

Gruß Dominik

@mrbungle64
Copy link
Owner

@Domi920

... Hättest du für mich ein kleines Beispiel, wie man die Anzahl der Zeitpläne und die einzelnen Daten wie z. B. die Stunde rausholen kann?
Vll macht auch ein zusätzlicher Datenpunkt Sinn, in dem der komplette Zeitplan als Text formuliert ist.

Ich wundere mich ein bisschen, da das doch dein expliziter Wunsch war einen Datenpunkt im JSON-Format zu bekommen 🤔

@Domi920
Copy link
Author

Domi920 commented Jun 29, 2022

Sorry das hab ich etwas doof ausgedrückt.
Würde mir aus dem JSON selbst einen Text zusammenstellen.

@mrbungle64
Copy link
Owner

@Domi920

Das mit den Listen ist hier denke ich ganz gut beschrieben.

Sorry, aber wenn Du mit dem (von Dir selbst gewünschten) JSON Format noch konkrete offene Fragen hast kannst Du dir hier oder z.B. im ioBroker Forum stellen. Ich möchte jetzt aber ungern für Dich auch noch diese Arbeit erledigen, denn das war ein von Dir gewünschtes Feature ( was ich persönlich gar nicht nutze 😉 )

@Domi920
Copy link
Author

Domi920 commented Jul 1, 2022

@mrbungle64
Danke für deinen Link.
Habe sonst keine weiteren Fragen.
Verstehe es natürlich, du hast mir schon genug geholfen!
Vielen Dank nochmals für deine großartige Hilfe & Support!

Gruß Dominik

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Deebot OZMO 930 Deebot OZMO 930 Enhancement New feature or request Question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants