Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Text to Speech

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

  • psilo
    antwortet
    Ok läuft... gibt es erfahrungen wie lange das cookie gültig bleibt? Muss ich das irgendwann händisch resetten?

    Wie kann ich "dynamisch" Text vorlesen? Bisher sehe ich nur für True und False ein Beispiel? Was wenn ich Zahlenwerte vorlesen will? Oder kann ich irgendwie den String in einem STR Item vorlesen? Bspw. den Wetterbericht?

    Cool wäre eine API Funktion des Plugins, die ich aus einer Logik aufrufen kann!

    ok habs schon...

    Code:
    sh.alexarc4shng.SendCmdByCurl('Büro','Text2Speech','Der Sensor der Hebenlage signalisiert ein Problem.')
    Zuletzt geändert von psilo; 29.04.2019, 18:06.

    Einen Kommentar schreiben:


  • psilo
    antwortet
    achja und ein haufen pfade ist hard coded (und fliegt daher bei mir auf die nase - sh in /python/smarthome):

    files = os. listdir('/usr/local/smarthome/plugins/alexarc4shng/cmd/')

    Besser wäre einfach den shng pfad im plugin auszulesen...

    PS: das mit dem cookie ging dafür jetzt fix
    Zuletzt geändert von psilo; 29.04.2019, 17:45.

    Einen Kommentar schreiben:


  • Jürgen
    antwortet
    Hallo zusammen,

    stimmt, konnte ich auch nicht installieren, mein Debian ist wohl zu alt.
    Andre hat schnell geholfen, mit diesen Befehlen funktionierte es dann (brachten aber auch z.T. Fehler)

    sudo apt-get install libcurl3-gnutl
    sudo apt-get install libcurl4-gnutls-dev
    sudo apt-get install librtmp-dev
    sudo apt-get install libc6
    sudo apt-get install libgnutls30
    sudo apt-get install libcurl3-gnutls
    sudo pip install pycurl

    Bei den Sprachtexten unbedingt Umlaute vermeiden!

    Gruß Jürgen

    Einen Kommentar schreiben:


  • psilo
    antwortet
    und beim startup läuft es in ein:
    Code:
    019-04-29  18:34:43 ERROR    lib.plugin       Plugin 'alexarc4shng' exception in run() method: name 'sleep' is not defined                                                                                            
    Traceback (most recent call last):                                                                                                                                                                                      
      File "/python/smarthome/lib/plugin.py", line 674, in run                                                                                                                                                              
        self.plugin.run()                                                                                                                                                                                                  
      File "/python/smarthome/plugins/alexarc4shng/__init__.py", line 138, in run                                                                                                                                          
        sleep(2)                                                                                                                                                                                                            
    NameError: name 'sleep' is not defined
    müsste es nicht ein time.sleep sein? (https://www.tutorialspoint.com/python/time_sleep.htm)

    PS: damit startet es jetzt.. import time und time.sleep(...)
    Zuletzt geändert von psilo; 29.04.2019, 17:38.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ich glaube, du brauchst libcurl4-openssl-dev libssl-dev und dann erst pycurl.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • psilo
    antwortet
    hmm und ich scheitere schon mit der installation von pycurl?!

    Code:
    pip3 install pycurl                                                                                                                                                                    
    Collecting pycurl                                                                                                                                                                                                      
      Using cached https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz                                                                        
    Building wheels for collected packages: pycurl                                                                                                                                                                          
      Building wheel for pycurl (setup.py) ... error                                                                                                                                                                        
      ERROR: Complete output from command /usr/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-9jdesu77/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read()
    .replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-qh0mpwxy --python-tag cp35:                                                              
      ERROR: Using curl-config (libcurl 7.52.1)                                                                                                                                                                            
      running bdist_wheel                                                                                                                                                                                                  
      running build                                                                                                                                                                                                        
      running build_py                                                                                                                                                                                                      
      creating build                                                                                                                                                                                                        
      creating build/lib.linux-x86_64-3.5                                                                                                                                                                                  
      creating build/lib.linux-x86_64-3.5/curl                                                                                                                                                                              
      copying python/curl/__init__.py -> build/lib.linux-x86_64-3.5/curl                                                                                                                                                    
      running build_ext                                                                                                                                                                                                    
      building 'pycurl' extension                                                                                                                                                                                          
      creating build/temp.linux-x86_64-3.5                                                                                                                                                                                  
      creating build/temp.linux-x86_64-3.5/src                                                                                                                                                                              
      x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE
    =2 -fPIC -DPYCURL_VERSION="7.43.0.2" -DHAVE_CURL_SSL=1 -DHAVE_CURL_GNUTLS=1 -DHAVE_CURL_SSL=1 -I/usr/include/python3.5m -c src/docstrings.c -o build/temp.linux-x86_64-3.5/src/docstrings.o                            
      In file included from src/docstrings.c:4:0:                                                                                                                                                                          
      src/pycurl.h:168:30: fatal error: gnutls/gnutls.h: Datei oder Verzeichnis nicht gefunden                                                                                                                              
       #   include <gnutls/gnutls.h>                                                                                                                                                                                        
                                    ^                                                                                                                                                                                      
      compilation terminated.                                                                                                                                                                                              
      error: command 'x86_64-linux-gnu-gcc' failed with exit status 1                                                                                                                                                      
      ----------------------------------------                                                                                                                                                                              
      ERROR: Failed building wheel for pycurl                                                                                                                                                                              
      Running setup.py clean for pycurl                                                                                                                                                                                    
    Failed to build pycurl                                                                                                                                                                                                  
    Installing collected packages: pycurl                                                                                                                                                                                  
      Running setup.py install for pycurl ... error                                                                                                                                                                        
        ERROR: Complete output from command /usr/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-9jdesu77/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read
    ().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-iqepzdju/install-record.txt --single-version-externally-managed --compile:          
        ERROR: Using curl-config (libcurl 7.52.1)                                                                                                                                                                          
        running install                                                                                                                                                                                                    
        running build                                                                                                                                                                                                      
        running build_py                                                                                                                                                                                                    
        creating build                                                                                                                                                                                                      
        creating build/lib.linux-x86_64-3.5                                                                                                                                                                                
        creating build/lib.linux-x86_64-3.5/curl                                                                                                                                                                            
        copying python/curl/__init__.py -> build/lib.linux-x86_64-3.5/curl                                                                                                                                                  
        running build_ext                                                                                                                                                                                                  
        building 'pycurl' extension                                                                                                                                                                                        
        creating build/temp.linux-x86_64-3.5                                                                                                                                                                                
        creating build/temp.linux-x86_64-3.5/src                                                                                                                                                                            
        x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOUR
    CE=2 -fPIC -DPYCURL_VERSION="7.43.0.2" -DHAVE_CURL_SSL=1 -DHAVE_CURL_GNUTLS=1 -DHAVE_CURL_SSL=1 -I/usr/include/python3.5m -c src/docstrings.c -o build/temp.linux-x86_64-3.5/src/docstrings.o                          
        In file included from src/docstrings.c:4:0:                                                                                                                                                                        
        src/pycurl.h:168:30: fatal error: gnutls/gnutls.h: Datei oder Verzeichnis nicht gefunden                                                                                                                            
         #   include <gnutls/gnutls.h>                                                                                                                                                                                      
                                      ^                                                                                                                                                                                    
        compilation terminated.                                                                                                                                                                                            
        error: command 'x86_64-linux-gnu-gcc' failed with exit status 1                                                                                                                                                    
        ----------------------------------------                                                                                                                                                                            
    ERROR: Command "/usr/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-9jdesu77/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"
    ', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-iqepzdju/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/p
    ip-install-9jdesu77/pycurl/

    Ok, nach einem sudo apt-get install libgnutls28-dev geht es
    Zuletzt geändert von psilo; 29.04.2019, 17:32.

    Einen Kommentar schreiben:


  • psilo
    antwortet
    oha AndreK wenn wir schnell wären, könnten wirs noch ins neue release reinnehmen?!

    Einen Kommentar schreiben:


  • Jürgen
    antwortet
    Nach oben hol...

    Hallo zusammen,

    ich möchte mal berichten, dass ich das Plugin von Andre (https://github.com/Andrek01/alexarc4shng) relativ problemlos in kurzer Zeit aktiviert habe.
    Ein kleiner Stolperstein waren nur Umlaute in den Sprachbefehlen, die mag das Plugin nicht. Toll gemacht, vielen Dank dafür!

    Gruß Jürgen

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo Andre,

    auch wenn die Konfiguration in einer (item).yaml enthalten wäre - vielleicht mit Hilfe von Structs (http://smarthomeng.de/dev/user/konfi..._struct.html)- es möglich, dass jeder Nutzer neue Kommandos einbauen kann.
    Vorteil wäre, dass keine weitere Konfigurationsdatei (-art) nötig wäre.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo Hendrik,

    die Idee mit den cmd-Dateien rührt daher, dass jeder neue Kommandos so einbauen und zur Verfügung stellen kann (Upload des *cmd-Files auf GIT)
    Es würde dann ein "selbstwachsendes" Repository entstehen (so die Hoffnung). Man muss nicht für jedes neue gewünschte Kommando den Quelltext anfassen.

    Ich versuch mal über's WE einen Prototypen zu bauen

    Gruss Andre

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    das klingt gut. Nur bei den action.cmd Dateien bin ich zurückgeschreckt.
    Warum nicht diese Informationen in die plugin.yaml?
    Hm... Dann geht wahrscheinlich das editieren im Web-Interface nicht.... Ok, dafür habe ich auch keine bessere Idee.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo Hendrik,

    ich würde das umsetzen. Folgende Ideen :
    • Webinterface für die Verwaltung des Cookies
    • für jedes Remote-Commando für Alexa ein kleines File mit dem Namen der "action.cmd"
      in diesem File steht die URL der Api-Adresse und die Struktur des Payloads + Platzhalter für die Values.
    • Aufruf der Funktion über einen Item-Eintrag in den *.YAML-Item-Dateien alexa_rc_command : "<alexa-gerate_name>:<on_item_value>:<action.cmd>:value"
      durch update_item im Plugin
    • der Payload würde dann mit den entsprechenden Werten gefüllt und versendet
    • Es könnte jeder neue *.cmd-Files erstellen und das Paket der Funktionen erweitern
    • Verwaltung der action.cmd-Files über das Web-Interface
    • Testfunktionen über das Web-Interface könnte man auch realisieren
    Im Moment habe ich noch keinen anderen Weg wie pycurl gefunden. Eine SSL-Verbindung via socket will mir nicht gelingen. Die request-http Anfragen lassen nur Tuples im Header zu, ist nicht zu gebrauchen da der Cookie einfach so mit muss. cUrl ist hier nicht so empfindlich. (Hier mach ich noch versuche das zu lösen)

    Was hälst Du von obigen Ideen ?

    Gruss Andre

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo Andre,
    Zitat von AndreK Beitrag anzeigen
    Wie wollen wir weitermachen ?
    Ich habe python-Kenntnisse, aber ich denke nicht, dass es effizient ist, wenn ich das implementiere. Wenn du dazu bereit wärst, wäre es gut, wenn du es implementieren würdest. Ich kann mich um Test, Bug-Fixing und Dokumentation kümmern.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • MrDuFF
    antwortet
    Hatte das vor einiger Zeit mal getestet. allerdings mit nem Gira HS

    https://knx-user-forum.de/forum/%C3%...tts-mit-dem-hs

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo Hendrik,

    man könnte den Cookie übers Webinterface via Cut&Paste einfügen und dann via CherrPy auf dem SmarthomeNG speichern.
    Das könnte eine ganz elegante Methode sein, oder ?

    Wie wollen wir weitermachen ?

    Gruss Andre

    Einen Kommentar schreiben:

Lädt...
X