Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Alexa Smarthome Skill (Payload Version 3)

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

  • HeMichael
    antwortet
    der mag mich nicht, nun lässt sich Python VE nicht installieren weil der Hash von ein paar Paketen falsch ist

    Code:
    Collecting certbot-nginx==1.0.0 (from -r /tmp/tmp.2uThRdeQVv/letsencrypt-auto-requirements.txt (line 250))
      Downloading https://files.pythonhosted.org/packages/f8/b2/5e79c2b8b4dbaa1dc060388cd47e710013e43578394cce5b727152752f54/certbot_nginx-1.0.0-py2.py3-none-any.whl (45kB)
    Requirement already satisfied: setuptools>=1.0 in /opt/eff.org/certbot/venv/lib/python2.7/site-packages (from josepy==1.2.0->-r /tmp/tmp.2uThRdeQVv/letsencrypt-auto-requirements.txt (line 97))
    THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
        pycparser==2.19 from https://www.piwheels.org/simple/pycparser/pycparser-2.19-py2.py3-none-any.whl#sha256=bc15573b7c6edd24407526dbbc7a0bd33d80d8af44231c37f58d73f56ff9cab6 (from -r /tmp/tmp.2uThRdeQVv/letsencrypt-auto-requirements.txt (line 115)):
            Expected sha256 a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3
                 Got        bc15573b7c6edd24407526dbbc7a0bd33d80d8af44231c37f58d73f56ff9cab6
    
        zope.component==4.6 from https://www.piwheels.org/simple/zope-component/zope.component-4.6-py2.py3-none-any.whl#sha256=74f55521dec189c08d98341edce929eba6bb2404662d1878f1b289af46f6f6a5 (from -r /tmp/tmp.2uThRdeQVv/letsencrypt-auto-requirements.txt (line 137)):
            Expected sha256 ec2afc5bbe611dcace98bb39822c122d44743d635dafc7315b9aef25097db9e6
                 Got        74f55521dec189c08d98341edce929eba6bb2404662d1878f1b289af46f6f6a5
    =====================================================
    
    Certbot has problem setting up the virtual environment.
    
    We were not be able to guess the right solution from your pip
    output.
    
    Consult https://certbot.eff.org/docs/install.html#problems-with-python-virtual-environment
    for possible solutions.
    You may also find some support resources at https://certbot.eff.org/support/ .
    EDIT: hab das ganze mal auch bei letsencrypt im Forum gepostet da das problem ja eher auf deren Seite zu suchen ist
    Zuletzt geändert von HeMichael; 05.01.2020, 12:20.

    Einen Kommentar schreiben:


  • HeMichael
    antwortet

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Wenn wir hier von dem Reverse Proxy sprechen, dann brauch der eigentlich gar kein PHP, da er ja nur weiterleitet. Nur für den beschriebenen Test wird PHP verwendet. Da ist das aktuelle PHP welches mit dem Raspbian kommt okay.

    Einen Kommentar schreiben:


  • HeMichael
    antwortet
    dann installiert er php7.3. Ich weiß aber nicht ob der LBS mit php7 zurecht kommt

    Edit: im Endeffekt macht er doch aber nur die Weiterleitung, also sollte doch PHP egal sein, hauptsache die Daten kommen durch
    Zuletzt geändert von HeMichael; 04.01.2020, 23:27.

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Ich würde einfach mal
    PHP-Code:
      sudo apt -y install apache2 php 
    probieren. php5 scheint er nicht zu finden

    Einen Kommentar schreiben:


  • HeMichael
    antwortet
    welchen softwarestand habt ihr auf dem PI? Ich habe mir heute 2019-09-26-raspbian-buster-lite.img gezogen (da drauf verweist der Link im PDF) und installiert, aber er will mir den Apache nicht aktivieren

    Code:
    root@raspberrypi:/home/pi# sudo apt -y install apache2 php5
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Package php5 is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    nach nem

    Code:
    sudo apt-get install apache2
    ist zumindest der Webserver erreichbar, aber

    ein aufruf einer info.php

    mit folgendem Inhalt

    Code:
    <?php
    phpinfo();
    ?>
    zeigt mir nur den Code in Klartext.

    Ich würde jetzt einfach mal ein anderes Image probieren bevor ich Anfang mir die Pakete alle nachzuinstallieren, vielleicht fehlen ja auch noch andere Sachen

    Gruß

    Michael

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    In der discovery response ist eine Zeile zu viel welche zu einem Fehler im Log führt:
    Code:
    Zeile 430
    // device name
    $endpointId = $event['directive']['endpoint']['endpointId'];

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von nullo83 Beitrag anzeigen
    eigenartigerweise bekomme ich im log des skillscripts keinen eintrag wenn E46 auf 1 geht.

    wenn ich aber zb "Alexa stelle Lamellen auf 0%" sage, wird es ausgeführt und ich bekomme auch Logeinträge.

    Der LBS, welche die Sprachausgabe starten soll, wird mir in der Alexaapp angezeigt, also von daher dürfte die kommunikation passen.
    Sorry du hast mich abgehängt.
    Am besten Skill aus der App entfernen. Aktuelle Version des LBS verwenden. Dann Skill aktivieren und das Log posten. Und dann beschreiben was genau nicht funktioniert. Es ist schwierig über mehrere Thread-Seiten hinweg ein Problem zu debuggen.

    Einen Kommentar schreiben:


  • nullo83
    antwortet
    Zitat von jonofe Beitrag anzeigen

    Der Fehler tritt auf, wenn die Aktivierung nicht erfolgreich verläuft.
    Was erscheint denn im Log des Skill Skripts?
    Sicher, dass du die aktuellste Version verwendest, die ich letzte Woche hochgeladen habe?
    hi jonofe,
    ich hab nun den LBS sicherheitshalber nochmals ausgetauscht aber leider ohne erfolg. eigenartigerweise bekomme ich im log des skillscripts keinen eintrag wenn E46 auf 1 geht.

    wenn ich aber zb "Alexa stelle Lamellen auf 0%" sage, wird es ausgeführt und ich bekomme auch Logeinträge.

    Der LBS, welche die Sprachausgabe starten soll, wird mir in der Alexaapp angezeigt, also von daher dürfte die kommunikation passen.

    lg nullo83

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Habe das Problem gefunden.
    Ist ein BUG in php auf arm.
    https://bugs.php.net/bug.php?id=62816

    Wenn ich es folgendermaßen umbaue funktioniert es.
    https://hotexamples.com/de/site/file...pserver-in-php

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ehrlich gesagt, kann ich mir dieses Verhalten nicht erklären. Evtl. ist wirklich etwas anders konfiguriert auf Ubuntu.
    Meine Empfehlung ist, auf eine EDOMI Umgebung zu migrieren, die näher am Standard liegt (x86, CentOS), ansonsten wird es vermutlich nicht das letzte Problem bleiben.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Frage ist, warum das socket_accept nicht funktioniert. Könnte an einem belegten Port liegen.
    Aber wenn es grundsätzlich funktioniert, dann ist es für mich nicht so leicht erklärbar.
    Wie oft kommt denn der Fehler? Ist er reproduzierbar?
    Fehler kommt dauerhaft. 100MB log innerhalb einer Stunde
    Direkt nach dem Start des LBS.
    Ports habe ich geprüft.
    Ist frei und erst nach Start des LBS wird er als belegt durch PHP angezeigt.
    LBS ist auch nur einmal in Verwendung.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von philipp900 Beitrag anzeigen
    Kann das an meinem System (PHP 7.2.24 auf ubuntu 18.04.1) liegen?
    Ich sehe auch einen Anstieg in der Leerlauflast, je nachdem ob 19001200 gestartet oder gestoppt ist.
    Das hängt dann vermutlich beides zusammen, denn wenn das socket_accept nicht funktioniert, dann geht er natürlich in die Schleife.
    Frage ist, warum das socket_accept nicht funktioniert. Könnte an einem belegten Port liegen.
    Aber wenn es grundsätzlich funktioniert, dann ist es für mich nicht so leicht erklärbar.
    Wie oft kommt denn der Fehler? Ist er reproduzierbar?

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Es wird nicht gepollt. Das usleep() könnte man auch problemlos weglassen.
    Ok, Danke für die Aufklärung.
    Woher kommt denn folgender Eintrag im Log fast 80mal in der Sekunde wenn debug aktiv ist?
    Code:
    EXE19001200.php | Error: 2 | Line: 75 | stream_socket_accept(): accept failed: Connection timed out
    Kann das an meinem System (PHP 7.2.24 auf ubuntu 18.04.1) liegen?
    Ich sehe auch einen Anstieg in der Leerlauflast, je nachdem ob 19001200 gestartet oder gestoppt ist.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von philipp900 Beitrag anzeigen
    Muss eigentlich im lbs_exec wirklich in einer Schleife dauerhaft gepollt werden?
    Es wird nicht gepollt. Das usleep() könnte man auch problemlos weglassen.

    Diese Zeile

    PHP-Code:
    while ($con stream_socket_accept($socket, - 1)) { 
    führt dazu, dass ein Socket geöffnet wird. Der Aufruf ist aber blockierend, d.h. es wird der nachfolgende Code nur ausgeführt, wenn durch das Skillskript eine Connection angefordert wird. Hat also keine Auswirkung auf die Last des Systems.

    Zitat von philipp900 Beitrag anzeigen
    Könnte man die Logik nicht ereignisbasiert triggern, immer wenn "edomi-smarthome-skill-PLv3.php" von extern aufgerufen wurd.
    Wie oben beschrieben, passiert dies heute schon so. Es wird nur Code ausgeführt, wenn eine Socketverbindung aufgebaut wird.

    Zitat von philipp900 Beitrag anzeigen
    Oder die logic vom exec gleich in diese php Datei verschieben?
    Es war ursprünglich gedacht, dass das Skillskript auch auf einem anderen Rechner laufen kann, z.B. ReverseProxy, daher die Socket Kommunikation.
    Klar könnte man das verschieben, steht aber auch meiner Liste ziemlich weit hinten, da es ja auch so sehr gut funktioniert.

    Einen Kommentar schreiben:

Lädt...
X