Modul: todoist - Task-/Listenverwaltung in FHEM (Bsp. Einkaufsliste) + Frontend

Begonnen von marvin78, 27 Oktober 2017, 16:26:48

Vorheriges Thema - Nächstes Thema

crispyduck

Sorry, wollte gerade editieren; natürlich muss man jquery.ui.touch-punch.min.js einbinden.  :-[

Ja, hab mir den neuen style bereits angesehen, und werde wohl auch bei Zeiten wechseln.
Aktuell will ich aber noch auf meinen angepassten darkstyle bleiben.

Funktioniert jetzt, aber mit den Fingern ist das echt schwer zu bedienen. (für mich zumindest)  ???

marvin78

Das weiß ich. Touch devices sind eben nicht benutzerfreundlich. Man müsste den handler Bereich vergrößern, wenn es sich um ein mobiles Device handelt. Ggf. schaue ich mir das irgendwann mal an aber das Frontend hat nun keine hohe Prio. Ich sehe das nicht als so wichtig an. Es geht um Automation. Und das beinhalten für mich eher Sprachbedienung und/oder eventbasierte Aktionen, als ein Frontend. Aus meiner Sicht sind Frontends schön für die Anzeige. Den Lichtschalter damit zu ersetzen oder eine funktionierende App (bspw. todoist) ist quatsch.

crispyduck

Gebe dir vollkommen recht. Hatte ja bis jetzt nichteinmal ein Tablet mit FHEM in betrieb, und auch dieses soll primär der Anzeige der Graphen, Temperaturen,... dienen.
Meine Lichtschalter habe ich sowieso an der Wand, dazu brauche ich das Tablet ja nicht.
Direkte Eingabe für todoist finde ich aber dennoch sehr praktisch, vorallem da das Tablet neben dem Kühlschrank hängt. Aber da braucht man auch kein drag and drop.


crispyduck

Hallo,

Habe jetzt noch ein bisschen herum getestet, und soweit funktioniert alles bei deinem Modul.

Was ich jetzt allerdings wieder mehrfach gesehen habe ist das die todoist Api nicht zuverlässige Daten lifert.
Ich habe aktuell wieder 2 Subprojekte in todoist angelegt, welche auch richtig in todoist gespeichert sein müssen da ich sie auch korrekt mit Parent in der Android App sehe, aber in JSON steht bei beiden parent-id undef.

Mir ist das gestern schon ein paar mal aufgefallen, dachte aber dann es liegt vielleicht daran das ich mehrere Browser Tabs mit todoif offen hatte.

Aber jetzt ist es definitiv so das die daten der Api nicht mit der Anzeige in todoif übereinstimmen.

Werde mal todoif dazu kontaktieren.

marvin78

Das habe ich schon. Die parent_id ist schlicht nicht richtig implementiert. Das sieht man auch daran, dass sie in der Doku an vielen Stelle nicht erwähnt ist, obwohl sie als Feld mitgeliefert wird. Grundsätzlich ist die Hierarchie "schwammig" .

crispyduck

Okay, konnte bis jetzt nochnicht nachvollziehen, warum diese manchmal sofort korrekt gesetzt/geliefert wird, und manchmal ewig nur undef ist.

Lg,
crispyduck

crispyduck

Ob es hier seitens todoist überhaupt eine Verbesserung geben wird?

Habe mir gerade die V8 REST Api angesehen, da gibt es überhaupt keine parent-id mehr, rein nur noch order und indent.

Im prinzip weiß man damit auch welche intends zu welchem Projekt gehören, genau so wie bei den Tasks, da die order immer eingehalten wird.
Also alle von der order her aufeinanderfolgende Projekte oder Tasks mit z.B. intend 2 gehören jeweils zu dem direkt davor liegenden Projekt/Task mit intend 1.

Echt blöd das die Api nicht zuverlässig die parent id liefert.

Hatte das jetzt fertig in FHEMWEB integriert, einmal Einmal Einlauf als parent und einmal ToDo lists als Parent.

Jeweils mit button um manuell den Projektimport anzuwerfen. Das ganze mit todoist der Frau verbunden, und wie es sein musste, liefert die Hälfte ihrer Listen keine parent-id.  :-\

marvin78

Die REST API ist ohnehin kaum brauchbar bzw. nur eingeschränkt. Für so ein umfangreiches Modul geht das gar nicht. Sie ist, obwohl V8, nicht wirklich aktueller als die sync API in V7. Das Modul hier nutzt die sync-API.

crispyduck

Ja, ist mir beim durchsehen aufgefallen, das dass eine sehr abgespeckte Version ist.

Das es hier nichts besseres gibt; todoist gibt es ja doch schon eine ganze Weile und das auch achon lange mit Api.

marvin78

Dein Problem habe ich in der Form allerdings auch nicht reproduzieren können. Die API an sich ist sehr gut und besser als bei der Konkurrenz (ich habe einige getestet) . Lediglich wunderlist kommt ran, ist aber deprecated.

crispyduck

Ich hatte das wie gesagt auch schon gestern beim testen.
Aktuell ist es immer noch so das ich bei zwei sub Projekten parent-id undef habe. Schätze mal wenn ich sie nach parent verschiebe und wieder retour passt es?!

Wenn du magst kann ich dir den account auch übertragen oder auf eine dummy email ändern.
Hatte da nur paar Testtermine drinnen und die aktuellen sub Projekte heißen auch nur Ggggg und Frodo.  :P

Edit: anbei ein screenshot wo man sieht das die Projekte zwar indent 2 haben, aber keine parent_id.


crispyduck

Um nicht dauernd tatenlos zuzusehen wie du alles gleich umsetzt, habe ich jetzt mal angefangen ein bisschen was umzubauen und nur mit order + indent zu arbeiten ohne parent_id.

Habe jetzt nur mal in deiner sub cChildProjects bisschen was geändert und das anlegen aller child Projekte funktioniert damit zumindest mal zuverlässig.

Ist natürlich noch nicht sauber und es fehlt auch noch das löschen,... dauert mit meinen Kenntnissen alles eine Weile, bis ich verstehe wie was funktioniert und das dann entsprechend umsetze.  ;D

Komme leuider erst am Abend dazu da weiter zu machen.

Hoffe es ist in Ordnung das ich in und anhand deines codes ein bisschen herum bastle. Falls nicht gewünscht bitte einfach bescheid geben.

marvin78

Du kannst den Code gerne ändern und auch für dich ein neues Modul daraus basteln. Am besten wäre es natürlich, wenn du das über einen pull request machen würdest.

Ich möchte aber von der parent_id nicht weg. Das hat mehrere Gründe:


  • Es soll von der API demnächst besser unterstützt werden.
  • order und indent sind NICHT zuverlässiger als die parent_id. Im Gegenteil. Man kann z.B: über die API tatsächlich 2 tasks die gleiche order und gleiche indent geben und sie gehören trotzdem nicht zum gleichen parent (das sieht man dann nur in der original todoist app oder webapp). Ich habe das zwar bei Projekten noch nicht getestet, gehe aber davon aus, dass es dort genauso ist.

marvin78

Ich habe soeben mal mehrfach neue Listen mit Kindern angelegt und dieser über cChildProjects importiert. Auch wenn ich vorher in der todoist-Webapp wild rumsortiert habe, habe ich nie das Problem gehabt, dass die Projekte in FHEM nicht angelegt werden oder in parent_id undef steht.

Wie genau gehst du vor, wenn sowas passiert?

marvin78

Ich habe die Zweige wieder zusammen geführt und den devel Zweig gelöscht.