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

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

Vorheriges Thema - Nächstes Thema

marvin78

Ich habe mir das mit der Kodierung und UTF 8 noch einmal angesehen. Das passiert tatsächlich NUR im IE (auch wenn er auf UTF 8 eingestellt ist). Was der da macht, ist mir schleierhaft. Es passiert in keinem anderen Browser, auch nicht in Edge. Also werde ich dem Thema nicht weiter nachgehen. Es ist ja sehr leicht, einen richtigen Browser zu verwenden und auf die Krücke IE zu verzichten.

crispyduck

Ja war eigentlich nur Zufall oder Versehen das ich es mit dem IE getestet habe. War/ist immer noch der haupt Browser in der Arbeit da bei uns schon lange auf Sharepoint und co. gesetzt wird. Mittlerweile funktioniert aber eigentlich auch alles mit Firefox und Chrome und VMware Vcenter, iLO,... geht dann sowieso wieder nicht vernünftig mit IE.

Sollte es eigentlich mit Fully am Tablet und Chrome am Smartphone testen, das sind dann eigentlich auch die einzigen Browser die es nutzen werden.

Lg
crispyduck

marvin78

Ich mag Fully nicht und sehe in Zeiten von WebApps den Grund für einen solchen Browser nicht. Aber bei Gelegenheit werde ich auch das mal testen (im Grunde ist da Chrome drunter, weshalb ich mir da wenig sorgen mache. Fully hat ja keine eigene Engine).

Edit: Auf meinem Smartphone funktioniert in Fully alles einwandfrei.

crispyduck

Okay, hatte ihn eigentlich ausser zu Testzwecken noch nicht im Einsatz, dachte nur es wäre für das Wandtablet dann praktisch da er Bewegungserkennung integriert hat.
Kommt aber ohnehin auch Automagic auf das Tablet, wahrscheinlich mit AMAD, da ich aus FHEM gerne das Webradio, Tunein,... auf dem Tablet steuern möchte.

Ist zwar jetzt off topic, aber vorschläge wie man das am besten umsetzt sind natürlich immer sehr willkommen. Wie gesagt, hat FHEM be mir, bis auf ein paar Schalter und das Garagentor das ich über eine FHEMWEB Instanz fürs Smartphone gesteuert habe eher im Hintergrund gearbeitet und einfach nur vieles automatisiert und aufgezeichnet. Jetzt soll eben endlich auch ein Tablet an die Wand, welches primär als Statusanzeige inkl. Verkehr, Wetter..., aber eben auch ein paar Schalter, LED Stripes, Radio und eben als Ersatz für die vielen Zettel am Kühlschrank dienen soll.

Lg
crispyduck

marvin78

Ich brauche das Frontend für todoist selbst nicht. Es ist eher ein Abfallprodukt eines anderen Moduls, das bei uns die Überwachung der Technik für die Schildkröten übernimmt.

crispyduck

Naja, brauchen tu ich es wohl auch nicht, muss/will aber meiner Frau auch den Sinn des Tablets an der Küchenwand erklären.  ;D
Ihr zu zeigen wann sie wie viel Wasser verbraucht,... kommt nämlich nicht so gut an.  :-\

Nein im Ernst, das die Automatisierung mit FHEM einiges erleichtert und auch viel Geld/Energie einspart weiß sie eh, finde die Idee der Einkaufsliste selbst gut und verleiht meiner FHEM installation wieder etwas Mehrwert.

Todoist irgendwie als Schnittstelle zur Überwachung der Schildkrötenzucht?! Das interessiert mich jetzt aber auch wie du das umgesetzt hast, und wozu du dabei todoif brauchst.

Lg
Crispyduck

marvin78

Neinnein. Nur die Technik des weblink-Widgets ist daraus abgeleitet. Das "schildi" Modul ist ein ganz individuelles Modul aber mit einem Frontend für meine Frau für die Konfiguration.

crispyduck

Achso, hab mich schon gewundert in welcher Weise man da todoif brauchen könnte.
Ich versuche FHEMWEB hauptsächlich über Weblinks zu gestalten, paar Sachen wie wie Heizung, Garagentorsteuerung und Wetter habe ich so auch schon recht schön umgesetzt. Eventuell das ich mir vom DOIF uitable noch ansehe, aber weiß nicht ob ich das überhaupt brauche.
Wollte erst Tablet UI verwenden, aber finde FHEMWEB lässt sich auch recht schön fürs Tablet anpassen.

crispyduck

Um wieder auf das Modul zurück zu kommen, ich habe mir gerade angesehen wie der API Token gespeichert wird, da man den ja für jede Liste/jedes Device extra eingeben muss.
Wenn ich das richtig sehe wird er base64 encoded mit setKeyValue im filesystem oder eben in der configDB abgespeichert.
Wozu ist da $key nötig wenn nicht verschlüsselt wird?
my $key = getUniqueId().$index;

Überlege ob man das Anlegen neuer Projekte/Devices automatisieren oder vereinfachen könnte, da ist mir das eben aufgefallen und nicht ganz klar.

Lg
crispyduck

marvin78

Du hast vollkommen recht. Da ist irgendwann mal was verloren gegangen. Vermutlich, weil ich etwas getestet habe. Interessant, dass mir das bisher nicht aufgefallen ist. Danke für's Melden.

Die neue Version 1.0.11 verschlüsselt den Token "besser". Das Perl Modul Digest::MD5 muss vorhanden sein.

ACHTUNG: Der Access Token MUSS nach dem update neu gespeichert werden. Andernfalls kann der Zugriff auf die API nicht mehr erfolgen. Einen neuen Access Token hinterlegt man per:

set DEVICE newAccessToken TOKEN

Zusatz: Einfaches Anlegen einer neuen Liste, geht übrigens per fhem copy Befehl. Es wird dann die Liste kopiert und auch der Token wird übernommen. Da eine frisch kopierte Liste inaktiv ist, hat man die Zeit, noch eine neue Projekt-ID ins DEF zu schreiben (oder man macht es direkt im copy Befehl) und kann die Liste dann aktivieren. Das gilt nicht mehr für den neuen Token...

marvin78

Der letzte Zusatz ist wieder repariert (1.0.13). copy und rename sind wieder funktionsfähig.

crispyduck

Super danke!

Das war jetzt ein großer Zufall das mir das aufgefallen ist, kannte nur setKeyValue noch nicht, und hab mir das daher genauer angeseen.

Hab es jetzt nochmal versucht und die Chrome Konsole dabei offen gehabt.

Auf der detail Page mit dem Widget aktiv habe ich einen eintrag3 in dei Liste einkauf3 hinzugefügt, aber der neue Eintrag erscheint im Widget erst nach einem Reload der Seite.
Die Timestamps aller Readings werden aktualisiert, aber auch die neuen Readings für den neuen Eintrag erscheinen erst nach einem reload der Seite.

Anbei mal die abgespeicherte Chrome console.

Danke
crispyduck

marvin78

Hast du wirklich die aktuelle Version der js Datei? Bitte mit der aus dem git vergleichen. Browsercache hattest du gelöscht?

Das mit den readings in der Detail Ansicht ist Standard-Verhalten  und hat nichts mit dem Modul zu tun.

crispyduck

Ja, ist die aktuelle js, rechte sollten auc passen und den cache habe ich immer wieder mal gelöscht.

marvin78

Ich kann das nicht nachvollziehen. Das Verhalten kann ich mir nur durch das nicht zusammen passen von Modul und js erklären.

Eine Idee habe ich noch. Kannst du mal das FHEMWEB Attribut longpoll auf websocket stellen und es dann noch einmal probieren?