Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Text to Speech

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #76
    Dann gibst du den Handys feste IP und pingst die jeweilige IP alle paar Sekunden an, wenn es in der Nähe sein sollte.

    Kommentar


      #77
      Dann gibst du den Handys feste IP und pingst die jeweilige IP alle paar Sekunden an, wenn es in der Nähe sein sollte.
      Teste ich mal. Auch wie sich SHNG verhält wenn ich das EVAL dazu nicht wie bisher um 200er Cycle mache... Könnte ein Threading Thema werden.. aber ist auszuprobieren.. Ändere ich gleich mal für mein Handy.

      Jetzt kommt mir: wenn es ausgeschaltet ist könnte es sein, dass der Ping nicht durchkommt.. Vermutlich begrüßt es mich dann dauernd. Aber auch das ist zu beobachten.Vielleicht in Kombi mit dem Status der Fritzbox, der ist da irgendwie toleranter.
      Zuletzt geändert von psilo; 05.05.2019, 17:06.

      Kommentar


        #78
        Kurzes Feedback: das plugin lief jetzt mehrere tage, auf einmal startet es nach einem neustart des core wieder nicht - das cookie lässt sich auch nicht tauschen, da das webif nicht hochkommt

        Code:
        2019-05-12  12:29:05 ERROR    lib.plugin       Plugin 'alexarc4shng' from section 'alexarc4shng' exception: a float is required
        > Traceback (most recent call last):
        >   File "/python/smarthome/plugins/alexarc4shng/__init__.py", line 539, in getDevicesbyCurl
        >     mybody = body.decode()
        > UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
        
        During handling of the above exception, another exception occurred:
        
        > Traceback (most recent call last):
        >   File "/python/smarthome/lib/plugin.py", line 145, in __init__
        >     plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._gtrans)
        >   File "/python/smarthome/lib/plugin.py", line 627, in __init__
        >     exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
        >   File "<string>", line 1, in <module>
        >   File "/python/smarthome/plugins/alexarc4shng/__init__.py", line 123, in __init__
        >     self.Echos = self.getDevicesbyCurl()
        >   File "/python/smarthome/plugins/alexarc4shng/__init__.py", line 545, in getDevicesbyCurl
        >     self.logger.debug('Error while getting Devices: %err' %err)
        > TypeError: a float is required

        Kommentar


          #79
          nachdem ich das cookie jetzt via textdatei ersetzt habe, geht es nach neustart wieder.. offenbar timed das cookie aber nach wenigen tagen aus.

          oder es ist identisch mit dem, was ich für das amazon cloud drive nutze, da backuppe ich seit heute morgen fotos hin. beides unschön
          Zuletzt geändert von psilo; 12.05.2019, 12:44.

          Kommentar


            #80
            Hallo psilo

            ich war diese Woche beruflich unterwegs, daher keine Zeit. Ich habe soeben das Autologin fertiggestellt. Funktioniert jetzt. Muss nur noch das Handling drum herum
            fertigstellen.

            Das mit dem Fehler aus post #78 - schau ich mir an.

            Das Cookie gilt für alle .amazon.de-Seiten daher wahrscheinlich das Problem. Mit dem Autologin bekommst Du dann eine eigene Session-ID nur für das
            alexarc4shng-plugin. Das Problem sollte damit gelöst sein.

            Ich habe auch meinen Echo-Dot mal auf "Küche" umbenannt. Das funktioniert bei mir ohne Fehlermeldung. Eventuell haben wir unterschiedlich
            Stände der Module/Python3 im Einsatz. Bei mir sind die folgenden Versionen am Laufen, vielleicht liegts daran.

            urllib3 -> 1.24.3
            pycurl -> 7.43.0
            python3 -> 3.5.2 final

            Es sieht so aus als hätte sich am Web-IF-Template mit 1.6 was geändert (Fontawesome reagiert anders, Seitenaufbau anders), kannst Du dazu was sagen ?

            Gruss Andre

            Kommentar


              #81
              Hi,

              ich teste am Besten nach, wenn Du die neue Version fertig hast.. Glaube die Fehler bei mir waren alle "cookie-related".

              Ne, am WebIf hat sich eigentlich nix geändert - aber ich war schon immer auf dem DEV, vielleicht bin ich es daher gewohnt? Die Versionen der 3rd Party Komponenten haben wir halt hochgezogen und Font Awesome sind jetzt die Web-Fonts, nicht mehr die SVGs. Die waren u.U. problematisch. Ist aber schon lange so.

              VG und ich freu mich auf die neue Version.

              PS: wir können jetzt die Plugins dynamischer releasen.. Damit kriegen wir das neue Plugin dann auch zeitnah raus!

              Kommentar


                #82
                Ich hatte übrigens noch eine WARNING im Log:
                DEPRECATED: Used function 'sh.return_item()', called in 'class alexarc4shng (plugins.alexarc4shng)' by 'update_item' - use the Items-API instead

                Müsstest Du noch auf die Items lib Klasse umstellen.

                from lib.item import Items

                Init Methode:
                self.items = Items.get_instance()

                Zugriff:
                self.items.return_items()
                Zuletzt geändert von psilo; 13.05.2019, 17:04.

                Kommentar


                  #83
                  Hallo psilo , henfri , Juergen ,

                  ich hab auf meinem GitHub-Repo eine aktuelle Version hochgeladen.
                  Änderungen sind im Readme beschrieben.

                  Wichtig - die Parameter haben sich geändert, bitte die /etc/plugin.yaml anpassen. (sind jetzt konventions-konform )

                  Code:
                  alexarc4shng:
                      class_name: alexarc4shng
                      class_path: plugins.alexarc4shng
                      cookiefile: '/usr/local/smarthome/plugins/alexarc4shng/cookies.txt'
                      host:       'alexa.amazon.de'
                      item_2_enable_alexa_rc: "OG.Buero.Alexa" # Item if commands should be send (True/False) - by UZSU or something else
                      alexa_credentials: user@domain.de:password # (base64 encoded) -> take a look at the  README
                      login_update_cycle: 500000 # update_time_for_autologin_in_seconds
                  Wenn credentials hinterlegt sind loggt sich das Plugin nun automatisch beim Start des Plugins mit eigener Session-ID ein. Update des Logins/Cookies erfolgt dann nach login_update_cycle. (Letztes Update/nächstes Update wird im Web-IF angezeigt)
                  Für das letzte Login wird eine Datei "lastlogin.txt" im Plugin-Verzeichnis gespeichert. Hier wird lediglich der TimeStamp des letzten Logins hinterlegt.
                  Der Scheduler prüft alle 5 Minunte (im Moment fix) ob die Zeit für das Erneuern des Cookies erreicht ist. Dann wird neu eingeloggt.
                  Im Web-Interface kann man sich manuell abmelden/anmelden (Seite mit den Cookies)

                  Changes :
                  • changed to version 1.0.1
                  • Autologin
                  • Changed to lib.item and lib.scheduler
                  • changed names of parameters and methods to lower case with underscore ("send_cmd_by_curl" statt "SendCmdByCurl")
                  • added informations to README
                  • rest of changes see readme
                  Testergebnisse und Hinweise nehme ich gerne entgegen.

                  Gruss Andre
                  Zuletzt geändert von AndreK; 19.05.2019, 21:01.

                  Kommentar


                    #84
                    Beeindruckend. Danke!

                    Kommentar


                      #85
                      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.

                      Kommentar


                        #86
                        Hab heute mal das Login strapaziert. Neue Anmeldung alle 20 Minuten. Lief jetzt über Stunden mit 18 Anmeldungen durch.
                        Scheint stabil zu funktionieren

                        Kommentar


                          #87
                          nach dem erneuten restart ist auch der error weg... vermutlich weil das cookie da noch invalid war.

                          Kommentar


                            #88
                            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.

                            Kommentar


                              #89
                              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

                              Kommentar


                                #90
                                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.
                                Viele Grüße
                                Martin

                                There is no cloud. It's only someone else's computer.

                                Kommentar

                                Lädt...
                                X