Ankündigung
Einklappen
Keine Ankündigung bisher.
Alexa Text to Speech
Einklappen
X
-
Inzwischen sind die Devices wieder befüllt.. vielleicht wieder Session-Konflikt, nachdem ich parallel meine Urlaubsfotos in die Amazon Cloud gebackuppt habe? Hätte aber vermutet, dass mehrere Cookies / Account zulässig sein sollten? Müsste doch auch gleichzeitig in versch. Browsern online sein dürfen?
-
Du siehst, Du darfst einfach nicht in Urlaub gehen
- Likes 1
Einen Kommentar schreiben:
-
Nachdem ich jetzt 2 Wochen in Urlaub war, liefert mir das Plugin nach jedem Neustart:
2019-06-13 16:12:28 ERROR plugins.alexarc4shng Error while checking login state: Expecting value: line 8 column 1 (char 7)
2019-06-13 16:12:28 ERROR plugins.alexarc4shng Error while checking login state: Expecting value: line 8 column 1 (char 7)
2019-06-13 16:12:38 ERROR plugins.alexarc4shng Error while checking login state: Expecting value: line 8 column 1 (char 7)
2019-06-13 16:12:38 ERROR plugins.alexarc4shng Error while checking login state: Expecting value: line 8 column 1 (char 7)
Die Liste der Devices im WebIf bleibt leer?!
Einen Kommentar schreiben:
-
Das sollte schon via rest api des admin ifs gehen und gemacht werden. Ob wir das aber schon dokumentiert haben?!
ich bin nicht sicher, ob ein webif eines plugins laufen kann, die admin oberfläche aber nicht. Das gäbe ggf einen konflikt
Einen Kommentar schreiben:
-
Hallo,
ich hab mir das mit dem encoden von den credentials nochmal durch den Kopf gehen lassen. (Nachdem ich die Doku für encoden in python ergänzt habe).
Ist doch alles gar nicht notwendig, wir haben doch ein Web-Interface fürs Plugin !
Ich würde das dort einbauen, soll heissen - Eingabefeld für die Credentials, dann via button ans plugin schicken und encodieren, Rückgabe der encodierten
crendentials.
Ich denke soweit, so gut.
Nächste Idee - das könnte man ja auch direkt in der ./etc/plugin.yaml speichern (das admin-Interface kann das ja auch) - eventuell mit Check-Box (store credentials permanent) im Web-Interface
Msinn Frage :
Gibt es eine "public methode" im Core um Einträge in der ./etc/plugin.yaml zu verändern ? Sprich einen Wert an der entsprechenden Stelle einzutragen.
Falls nicht würde etwas dagegen sprechen eine entsprechende Funktion im Plugin einzubauen ?
Gruss Andre
Einen Kommentar schreiben:
-
AndreK soweit hatte ich im code nicht gelesen
.. ist nicht böse gemeint wenn ich hier feedback gebe, ich hoffe das kommt nicht falsch an.. wir versuchen halt auch nur so gut es geht zu standardisieren, weil sie nur so a) manche features im core umsetzen lassen. weiterhin sehe ich das feedback auch bezogen auf wartbarkeit der plugins. ich habe damals bei enigma2 und avm auch noch einige mal geflucht, bin aber froh nochmal umstrukturiert zu haben.
wie Msinn schon sagte, immer zuerst im smartplugin schauen, ob es eine methode schon gibt.
Einen Kommentar schreiben:
-
Hab ich bemerkt (war ja nur 20 Minuten Core-debuggind), deshalb hatte ich den präfix selber hinzugefügt. (Hat jeder sicher bemerkt, dass es trotzedem unter den plugin-schedulern im Web-IF war
)
Egal, passiert mir nicht mehr
Habs geändert (auf self.scheduler_add() ), war ja nicht viel, und hochgeladen.
Gruss Andre
Einen Kommentar schreiben:
-
scheduler_add wrappt die methoden aus der scheduler lib, damit an den namen des schedulers ein smartplugin spezifischer präfix kommt
Einen Kommentar schreiben:
-
scheduler_add wie in der Plugin Doku beschrieben (siehe auch Methoden der SmartPlugin Klasse) ist richtig. So ist das ja auch im sample_plugin (unter /dev/sample_plugin) beschrieben.
Das "Write a Plugin in 5 Minutes" ist grob überholungsbedürftig. Ich habe vor dem Release die gröbsten veralteten Stellen in der Doku beseitigt, die Seite ist aber immer noch in Teilen veraltet.
Im Zweifelsfall immer der Doku zur Klasse SmartPlugin (https://www.smarthomeng.de/developer...artplugin.html) folgen. Diese Beschreibung wird aktuell aus dem Sourcecode generiert.
Einen Kommentar schreiben:
-
psilo
Das mit dem scheduler hab ich hin und her überlegt was richtig ist, hier ist die Doku, aus meiner Sicht, nicht ganz eindeutig.
Hier wird das so beschrieben, ich habe mir etliche plugins angesehen, dort haben alle die oben erwähnte methode "scheduler_add" implementiert.
Nach deinem Hinweis mit lib.item war ich der Meinung lib.scheduler zu nutzen wäre der richtige Weg. Siehe auch hier.
Was nun ist "richtig" ? (Ohne Wertung)
Ich glaube es ist an dieser Stelle recht schwer den aktuellen "conventions" zu folgen, daher mein Vorschlag eine schlanke guidline für plugins
mit Verweis auf die Doku zu machen. (war eine PN)
Zum Thema redundanter Code :
Es sieht zwar auf den ersten Blick aus als wäre alles redundant, ist es aber nicht, ein Teil ist "curl GET" ein Teil ist "curl POST". OK, die zwei Fallunterscheidungen
kann man sicher zusammenfassen, aber ...
Ich bin immer noch am Testen ob man das nicht mittels "requests" abhandeln kann, bin zwar ein Stück weiter, ist aber noch nicht final.
Ich würde dann die ganze Kommunikation nochmal umbauen.
Wenn sonst alles läuft, ist ja alles gut, sicherlich gibt es noch Optimierungspotential - das Thema ist ja nicht in 100 code-zeilen erledigt.
Gruss Andre
Einen Kommentar schreiben:
-
neben der sache mit den smartplugin-schedulern von oben:
ich glaube im plugin ist noch einiges an redundantem code, den man sicher zusammenfassen kann. bspw die ganzen "myCurl.setopt"s. wäre sicher vor einem PR nicht schlecht, macht alles wartbarer.
Einen Kommentar schreiben:
-
nach dem erneuten restart ist auch der error weg... vermutlich weil das cookie da noch invalid war.
Einen Kommentar schreiben:
-
Hab heute mal das Login strapaziert. Neue Anmeldung alle 20 Minuten. Lief jetzt über Stunden mit 18 Anmeldungen durch.
Scheint stabil zu funktionieren
Einen Kommentar schreiben:
-
cool ich ziehs gleich mal. dann kann ich bis inkl samstag noch testen - dann erstmal 2 wochen urlaub
ps: ich sehe gerade ein "self.scheduler.add(...)" im code. das smartplugin hat eigene methoden für die scheduler... self.scheduler_add(...) bitte die nehmen, da es sonst im admin if / backend zu einordnungsproblemen kommt.
hier muss ich erneut auf die developer doku verweisen: https://www.smarthomeng.de/developer...artplugin.html
ich weiss auch nicht, ob man unbedingt mit einer webseite wie https://www.base64encode.org seine ECHTEN amazon zugangsdaten encoden möchte
lieber auf python oder php funktionen dafür verweisen.. Msinn wir sollten für das nächste release ins admin IF ein base64encode tool einbauen
und nach restart gleich erster fehler: plugins.alexarc4shng Error while checking login state: Expecting value: line 8 column 1 (char 7)Zuletzt geändert von psilo; 20.05.2019, 18:16.
Einen Kommentar schreiben:


Einen Kommentar schreiben: