1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Philips HUE zu dunkel

Discussion in 'German Talk' started by firstfacility, 20 November 2016.

  1. Zeitstaubsammlr

    Zeitstaubsammlr New Member

    Messages:
    4
    Hardware:
    +PhilipsHue
    Naja, wo liegt denn das Steuerungslimit für ein Ambilight (hängt das auch von dem Strip-Modell bzw. dessen Steuerungsmodul ab?) Bei 60LEDs/m auf 100“ liege ich bei ~414 LEDs zu versorgen. Irgendwelche Best practice Feedbacks?
     
  2. b1rdhous3

    b1rdhous3 Member Developer

    Messages:
    97
    Hardware:
    RPi1/Zero, RPi3, 32/64bit, +PhilipsHue
    Das bekommt hyperion schon hin ;)
    Auf welcher hw lässt du das dann laufen?

    Irgendwo hier gibt es n Vorstellungsthread mit einer Leinwand. Da sind es glaube auch so viele leds gewesen. Habe aber auch schon von welchen mit 300-400 gehört.
     
  3. Anthrax

    Anthrax Member

    Messages:
    35
    Hi SJunkies,

    ich weiß nicht, wie es Dir am besten passt mit Fehlermeldungen...
    Ich habe folgendes Ticket bei Github aufgemacht, da ich im Moment einen Build-error bekomme:
    https://github.com/SJunkies/hyperion.ng/issues/13#issue-471253985

    Das ganze betrifft den branch 'entertainment-api-2019' von dem ich weiß, dass er noch nicht ready ist ;-)

    Also falls Du auf Anhieb eine Idee hast was ich noch probieren könnte, würde ich mich freuen...

    Ansonsten warte ich gespannt auf das hyperion.ng release.

    Gruß
    Anthrax
     
  4. SJunkies

    SJunkies Member

    Messages:
    31
    Hardware:
    RPi3, 32/64bit, +PhilipsHue
    Hi @Anthrax,

    lang nichts mehr gehört, hoffe dir geht es gut ;)

    Danke dir für die Fehlermeldung! Ein Ticket direkt in Github ist am optimalsten :thumbsup:

    Auf den ersten Blick würde ich behaupten, das der Compiler "mbedtls_x509_crt" nicht findet / includen kann.

    Es fehlt da im Code glaube ich:
    Code:
    #include "mbedtls/x509_crt.h"
    vielleicht kannst du die Zeile hier zum testen mal ergänzen:

    https://github.com/SJunkies/hyperio...ev_net/LedDevicePhilipsHueEntertainment.h#L42

    Mich wundert es aber Allgemein, da bei mir keinen Fehler beim compilieren entsteht!

    Kannst du bitte trotzdem noch ein paar Detailangaben zu deinem aktuell verwendetem System machen?
    Welche Version von mbedtls ist bei dir installiert?
    Hat sich seit damals, an deinem Setup irgendetwas geändert oder an deinem System / der Config?

    Funktioniert den der alte Branch von Ende 2018 "entertainment-api" bei dir noch, den da ist mbedtls_x509_crt ebenfalls in Verwendung und der Branch lief doch bei dir?
    Der ist zwar veraltetet vom aktuellen Master Stand her, aber da hat sich am Grundcode der E-API nichts geändert.

    Ich überarbeitet auch gerade nochmal den Grundablauf der E-API und hab mbedtls_x509_crt zum testen deaktiviert / entfernt.
    Die Verbindung, sowie der Stream funktionieren auch ohne Zertifikat ohne Probleme!

    @all
    Kennt sich jemand mit mbedtls besser aus und kann mir da evenutell Input für das Thema geben?
    Ist es ein bedenkliches Sicherheitsrisiko, wenn man mbedtls_x509_crt raus lässt bzw. allgemein kein CA certificate verwendet?
    Es soll ja "nur" im Hyperionumfeld Verwendung finden.

    Ich hab halt mbedtls_x509_crt_init und mbedtls_ssl_conf_ca_chain deaktiviert und mbedtls_ssl_conf_authmode MBEDTLS_SSL_VERIFY_OPTIONAL zu MBEDTLS_SSL_VERIFY_NONE geändert (Änderungen noch nicht im Repo):

    https://github.com/SJunkies/hyperio...net/LedDevicePhilipsHueEntertainment.cpp#L411
    Code:
    mbedtls_ssl_conf_authmode(&conf, MBEDTLS_SSL_VERIFY_OPTIONAL);
    mbedtls_ssl_conf_ca_chain(&conf, &cacert, NULL);
    
    zu dem geändert:
    Code:
     mbedtls_ssl_conf_authmode(&conf, MBEDTLS_SSL_VERIFY_NONE); 
    Normalerweise sollte mit mbedtls_ssl_conf_authmode und mbedtls_ssl_conf_ca_chain auch MBEDTLS_SSL_VERIFY_REQUIRED verwendet werden, aber da habe ich leider keine Erfahrung mit und hoffe auf Input von euch!

    Ich muss mich da auch allgemein nochmal schlaumachen ;)

    Danke dir / euch!

    VG SJ
     
  5. Anthrax

    Anthrax Member

    Messages:
    35
    Hi SJunkies,

    ich bin ebenso sehr beschäftigt zur Zeit. 2 Kinder, Ende der Woche großer Umzug und noch keinen Urlaub gehabt in diesem Jahr...

    Deinen Tipp hatte ich mir mit meinen verstaubten C-Kenntnisen auch schon zusammengereimt allerdings passiert dann das hier und das war für mich erstmal schwer zu debuggen.

    Mit #include "mbedtls/x509_crt.h" kommt diese Fehlermeldung(en):
    Code:
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp: In member function 'void HueEntertainmentStreamer::connectStreamer()':
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:357:31: error: 'mbedtls_x509_crt_init' was not declared in this scope
      mbedtls_x509_crt_init(&cacert);
                                   ^
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:412:51: error: 'mbedtls_ssl_conf_ca_chain' was not declared in this scope
         mbedtls_ssl_conf_ca_chain(&conf, &cacert, NULL);
                                                       ^
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:423:209: error: 'mbedtls_ssl_conf_psk' was not declared in this scope
         if (0 != (ret = mbedtls_ssl_conf_psk(&conf, (const unsigned char*)pskRawArray.data(), pskRawArray.length() * sizeof(char), (const unsigned char*)pskIdRawArray.data(), pskIdRawArray.length() * sizeof(char))))
                                                                                                                                                                                                                     ^
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:433:58: error: 'mbedtls_ssl_set_hostname' was not declared in this scope
         if ((ret = mbedtls_ssl_set_hostname(&ssl, SERVER_NAME)) != 0)
                                                              ^
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:456:60: error: 'mbedtls_ssl_conf_handshake_timeout' was not declared in this scope
             mbedtls_ssl_conf_handshake_timeout(&conf, 400, 1000);
                                                                ^
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp: In member function 'void HueEntertainmentStreamer::stopStreamer()':
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:523:38: error: 'mbedtls_x509_crt_free' was not declared in this scope
             mbedtls_x509_crt_free(&cacert);
                                          ^
    
    Ich compiliere nach wie vor auf einem Vero 4K+ (Linux osmc 3.14.29-150-osmc #1 SMP osmc-ccachefix aarch64 GNU/Linux)

    libmbedtls-dev:
    Installed: 2.4.2-1+deb9u3
    Candidate: 2.4.2-1+deb9u3
    Version table:
    *** 2.4.2-1+deb9u3 500
    500 http://ftp.debian.org/debian stretch/main armhf Packages
    500 http://security.debian.org stretch/updates/main armhf Packages
    100 /var/lib/dpkg/status


    Ich hatte auch testweise die letzte MBEDTLS aus dem zugehörigen Github gebaut allerdings mit gleichem Ergebnis.

    Ich versuche jetzt mal so wie du geschrieben hast das überflüssige (?) auszukommentieren und wenn das auch scheitert baue ich den alten branch nochmal (der hatte bisher immer funktioniert).

    Ich melde mich nochmal.

    DANKE!
    Anthrax

    PS: checkst Du evtl. Deine Änderung bzgl. SSL_VERIFY_NONE ein?
     
    Last edited: 23 July 2019
  6. SJunkies

    SJunkies Member

    Messages:
    31
    Hardware:
    RPi3, 32/64bit, +PhilipsHue
    Ohje klingt ja auch nach Stress pur!
    Da ist Urlaub bitter nötig...aber ich kenn die Thematik leider zugut :/

    ...okay...Danke für die ganzen Infos.
    Ich schau mir das nochmal im Details an.

    Habe gerade nicht meinen aktuellen Status zur Hand (@Office), aber hab dir schnell einen neuen Branch bezüglich x509 gemacht und die Änderungen gepushed:

    https://github.com/SJunkies/hyperion.ng/tree/entertainment-api-nox509

    Ich muss mich mit der Thematik nochmal genauer auseinander setzen und hoffe wie gesagt auch Input von anderen.
    SSL Zertifikate etc. in dem Zusammenhang, ist für mich auch noch Neuland.

    Bin gespannt, ob das schon was bringt.
    Allgemein ist es seltsam das es nicht mehr klappt, aber die Codestruktur im "entertainment-api" Branch war damals auch anders aufgebaut.

    VG
    SJ
     
    • Thank you Thank you x 1
  7. Anthrax

    Anthrax Member

    Messages:
    35
    Tausend Dank für deinen schnellen Versuch aber leider scheitert es ebenso:

    Code:
    Scanning dependencies of target leddevice
    [ 63%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/LedDevice.cpp.o
    [ 63%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_serial/LedDeviceAdalight.cpp.o
    [ 64%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/LedDeviceWrapper.cpp.o
    [ 64%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/LedDeviceFactory.cpp.o
    [ 65%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_serial/LedDeviceAtmo.cpp.o
    [ 65%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_serial/LedDeviceDMX.cpp.o
    [ 65%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_serial/LedDeviceKarate.cpp.o
    [ 66%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_serial/LedDeviceSedu.cpp.o
    [ 66%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_serial/LedDeviceTpm2.cpp.o
    [ 66%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_serial/ProviderRs232.cpp.o
    [ 66%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDeviceAtmoOrb.cpp.o
    [ 67%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDeviceFadeCandy.cpp.o
    [ 67%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDeviceNanoleaf.cpp.o
    [ 67%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDevicePhilipsHue.cpp.o
    [ 68%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDevicePhilipsHueEntertainment.cpp.o
    [ 68%] Building CXX object libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDeviceTpm2net.cpp.o
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp: In member function 'void HueEntertainmentStreamer::connectStreamer()':
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:423:209: error: 'mbedtls_ssl_conf_psk' was not declared in this scope
         if (0 != (ret = mbedtls_ssl_conf_psk(&conf, (const unsigned char*)pskRawArray.data(), pskRawArray.length() * sizeof(char), (const unsigned char*)pskIdRawArray.data(), pskIdRawArray.length() * sizeof(char))))
                                                                                                                                                                                                                     ^
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:433:58: error: 'mbedtls_ssl_set_hostname' was not declared in this scope
         if ((ret = mbedtls_ssl_set_hostname(&ssl, SERVER_NAME)) != 0)
                                                              ^
    /root/hyperion.ng/libsrc/leddevice/dev_net/LedDevicePhilipsHueEntertainment.cpp:456:60: error: 'mbedtls_ssl_conf_handshake_timeout' was not declared in this scope
             mbedtls_ssl_conf_handshake_timeout(&conf, 400, 1000);
                                                                ^
    libsrc/leddevice/CMakeFiles/leddevice.dir/build.make:398: recipe for target 'libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDevicePhilipsHueEntertainment.cpp.o' failed
    make[2]: *** [libsrc/leddevice/CMakeFiles/leddevice.dir/dev_net/LedDevicePhilipsHueEntertainment.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    CMakeFiles/Makefile2:1915: recipe for target 'libsrc/leddevice/CMakeFiles/leddevice.dir/all' failed
    make[1]: *** [libsrc/leddevice/CMakeFiles/leddevice.dir/all] Error 2
    Makefile:149: recipe for target 'all' failed
    make: *** [all] Error 2
    
    
    Ich werde mal ein wenig recherchieren ob es an meinem System liegt und ob ich mbedtls nochmal komplett entfernt kriege...

    Mach Dir keinen Stress - das hier ist hobby das Leben hat Vorrang ;-)

    Gruß
    Anthrax
     
  8. SJunkies

    SJunkies Member

    Messages:
    31
    Hardware:
    RPi3, 32/64bit, +PhilipsHue
    Kein Thema, gern! :)

    aber ich glaub wirklich, das an deiner mbedtls installation irgendetwas nicht mehr stimmt...er scheint die ganzen includes nicht zu finden, wo die "was not declared in this scope" Functions überhaupt definiert werden ... oder ich checks gerade nicht und ich hab doch müll programmiert :D
    Wäre super, wenn du bitte bei gelegenheit nochmal den 2018ner "entertainment-api" Branch probieren könntest..nur um sicher zu sein.
    Wenn der auch nicht klappt, muss es wohl an mbedtls liegen und dann müsste das hier:
    Code:
    sudo apt-get remove libmbedtls-dev
    und dann wieder
    Code:
    sudo apt-get install libmbedtls-dev
    vielleicht helfen ;)

    Wie gesagt, mich würde bevor du es deinstallierst, wirklich interessieren, ob der "entertainment-api" Branch funktioniert.

    EDIT:
    ich vermute, es könnte auch damit zutun haben:

    https://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/lxr/source/src/connect/mbedtls/mbedtls/ssl.h

    define MBEDTLS_X509_CRT_PARSE_C

    Evenutell hat sich doch bei dir am System was geändert oder es ist eine neuere Version, wo das noch definiert werden muss....das muss ich erst nachschauen...alle Bereiche und Funktionen die gebraucht werden, werden nur eingebunden, wenn MBEDTLS_X509_CRT_PARSE_C definiert ist.
    Das würde erklären wieso nur die Bereiche betroffen sind und nicht alle mbedtls funktionen..sowas hatte ich schon vermutet mit der config....

    ...dann war das rausschmeissen von x509 wahrscheinlich garnicht notwendig :D

    https://www.ncbi.nlm.nih.gov/IEB/To...ce/src/connect/mbedtls/mbedtls/config.h#L2615

    eventuell wird noch mehr benötigt...aber das muss ich mir erst anschauen oder bei dir hat es aus irgend einem Grund die config file von mdedtls zerhauen, da diese ganzen Constanten eigentlich in der normalen Config von mbedtls definiert sind.

    Danke dir und VG
    SJ
     
    Last edited: 23 July 2019
  9. Anthrax

    Anthrax Member

    Messages:
    35
    So, es baut wieder alles (alle branches!!!) ;-)

    Ich musste allerdings mbedTLS nochmal neu runterladen und mit 'make no_test' compilieren...

    Schaun wir mal, ob ich nun die Hues wieder in Betrieb bekomme.

    TAUSEND DANK!
     
    • Like Like x 1
  10. SJunkies

    SJunkies Member

    Messages:
    31
    Hardware:
    RPi3, 32/64bit, +PhilipsHue
    Danke für deine Engagement und den ganzen Input das Problem zu beheben! :thumbsup:

    Nicht dafür ;)

    Bekommen wir schon wieder hin...wie gesagt, ist ja auch noch nicht die finale Version.
    Nur wenn die jetzige schon nicht geht, wird auch meine aktuelle bei dir nicht laufen...daher Danke für die Mithilfe.
     
  11. SJunkies

    SJunkies Member

    Messages:
    31
    Hardware:
    RPi3, 32/64bit, +PhilipsHue
    Hi @Anthrax
    bist du zufällig schon dazu gekommen nochmal alle Branches zu testen bzw. sind erneut Compilierungsprobleme aufgetreten?
    Ich hab jetzt bei mir wieder die x509 Zertifizierung integriert und sogar auf REQUIRED gestellt und es funktioniert immernoch wie gehofft.
    Warte aber aktuell noch auf dein Feedback, nicht das ich das hier optional machen muss und das eine Mögliche Fehlerquelle...

    Danke dir!
    VG SJ
     
    Last edited: 30 July 2019
  12. Anthrax

    Anthrax Member

    Messages:
    35
    Es liefen alle branches.
    Ich dachte ich hätte es schon geschrieben ;-)

    Gruß
    Anthrax
     
    • Like Like x 1
  13. SJunkies

    SJunkies Member

    Messages:
    31
    Hardware:
    RPi3, 32/64bit, +PhilipsHue
    Nein hattest du nicht :D ich hab auf dein Feedback gewartet ...ja super, dann liegt es nicht an mbedtls.

    Danke dir fürs erneute Testen!!!

    Gruß
    SJ