Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit UZSU nach Serverumzug

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

    Problem mit UZSU nach Serverumzug

    Hallo Allen,
    Ich bin auf einen neuen Server umgezogen.
    Debian11
    Python 3.9.2
    pip3 Version 20.3.4
    SmarthomeNG v1.9.5-master​
    Visu v3.4.0
    Alles läuft aber ich bekomme die UZSU nicht zum laufen. Alle Seiten wo dieses Plugin drin ist bleiben leer. (Error loading Page).
    Ich nutze die automatische Erstellung der Webseiten. Zur Ausgabe nutze ich Nginx.

    Das doofe ist, dass es in keinem Log irgendeinen relevanten Fehler gibt. Weder bei Nginx noch bei Smarthome.
    Das einzige was nach einem Restart von Smarthome kommt ist:
    Code:
    2024-01-18  19:51:41 NOTICE   lib.smarthome       --------------------   SmartHomeNG stopped   --------------------
    2024-01-18  19:51:41 ERROR    asyncio             Task was destroyed but it is pending!
    task: <Task pending name='update_all_series' coro=<Protocol.update_all_series() running at /usr/local/smarthome/modules/websocket/smartvisu.py:600> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f449653f610>()]>>
    2024-01-18  18:51:42 NOTICE   lib.smarthome       --------------------   Init SmartHomeNG v1.9.5-master (646146a0f)   --------------------
    2024-01-18  18:51:42 NOTICE   lib.smarthome       Running in Python interpreter 'v3.9.2 final', from directory /usr/local/smarthome
    2024-01-18  18:51:42 NOTICE   lib.smarthome        - operating system 'Debian GNU/Linux 11 (bullseye)' (pid=820)
    2024-01-18  18:51:43 NOTICE   lib.smarthome        - on 'Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz'
    2024-01-18  18:51:44 NOTICE   lib.smarthome        - Nutze Feiertage für Land 'DE', Provinz 'None', 1 benutzerdefinierte(r) Feiertag(e) definiert
    2024-01-18  18:51:44 ERROR    lib.smarthome       Locale for the enviroment is not set to a valid value. Set the LANG environment variable to a value supporting UTF-8
    2024-01-18  18:51:45 WARNING  plugins.cli         CLI: You should set a password for this plugin.
    2024-01-18  19:51:46 NOTICE   lib.smarthome       --------------------   SmartHomeNG initialization finished   --------------------​
    Jemand eine Idee was das sein kann bzw. wie ich es rausbekomme?
    Lieben Dank
    Gruß Haxley
    Zuletzt geändert von Haxley; 18.01.2024, 20:32.

    #2
    Ich vermute mal ins blaue: Wenn die UZSU keine Information über das lokale Environment hat (Siehe Fehler) dann kann Sie auch keinerlei Zeiten berechnen. Da würde ich mal ansetzen.

    Wärest Du mit Docker unterwegs, käme dies auf Github noch evtl. in Frage.

    Kommentar


      #3
      Du kannst in der config.ini von smartVISU mal den Schlüssel debug = "1" hinzufügen. Dann werden evtl. weitere Fehlermeldungen angezeigt oder ins error.log von nginx geschrieben.

      Ich würde mich aber auch erstmal um das Locale kümmern. Es kann sein, dass Seitennamen nicht richtig codiert werden, wenn das nicht richtig eingestellt ist.

      Gruß
      Wolfram

      Kommentar


        #4
        Zitat von bmx Beitrag anzeigen
        Ich vermute mal ins blaue: Wenn die UZSU keine Information über das lokale Environment hat (Siehe Fehler) dann kann Sie auch keinerlei Zeiten berechnen. Da würde ich mal ansetzen.
        Das macht Sinn.
        Problem ist nur, sobald dich die /etc/default/locale ändere gibt ein Restart von ShNG einen Fehler aus.

        aktuelle /etc/default/locale
        Code:
        LANG="C"
        Ausgabe von locale -a


        Code:
        C
        C.UTF-8
        POSIX
        
        ​
        ​​

        Welche Einstellung erwartet ShNG denn von locale?​
        Werden die in der /etc/default/locale gesetzt? Hat jemand evtl. mal eine funktionierende config davon?

        Lieben Dank
        Gruß Haxley

        Kommentar


          #5
          Es sind gar keine Spracheinstellungen verfügbar. Die müssen erst individuell kompiliert werden, oder Du lädst das Paket locales-all, in dem alle verfügbaren Einstellungen vorkompiliert sind.
          https://packages.debian.org/stable/l...on/locales-all

          Gruß
          Wolfram

          Kommentar


            #6
            So geändert mit:
            apt-get install locales-all​
            update-locale​
            mit dpkg-reconfigure locales​ auf DE gestellt
            reboot
            in etc/default/locale steht nun
            Code:
            LANG=de_DE.UTF-8
            Fehlermeldung locale ist weg, Problem mit UZSU bleibt leider.

            Zuletzt geändert von Haxley; 19.01.2024, 09:24.

            Kommentar


              #7
              Hast Du die debug-Einstellung in der config.ini vorgenommen und gibt es erweiterte Fehlermeldungen?

              Poste mal einen Abschnitt der items.yaml mit der Festlegung eines UZSU-items und der zugehörigen Widget-Definitionen.

              Kommentar


                #8
                item wo das Problem auftritt:

                Code:
                %YAML 1.1
                ---
                
                gesamt:
                    name: Gesamt
                    sv_page: room
                    sv_img: status_available.svg
                    sv_widget: "<div align='right'> Weihnachtslicht<img class='icon' src='{{ icon0 }}light_x-mas_tree.svg' />    {{ device.uzsuicon('Weihnachtslicht_Garage_oben','go.licht.uzsu_weih', 'Weihnachtslicht', '', '', '', 'bool', ['AN','AUS'])}}</div>"
                nginx log ist trotz Debug=1 leer
                smartvisu_error.log:
                Code:
                0 /var/www/html/smartvisu/vendor/Twig/src/Environment.php(497) : eval()'d code(555): Twig\Template->getAttribute()
                #1 /var/www/html/smartvisu/vendor/Twig/src/Environment.php(497) : eval()'d code(1339): __TwigTemplate_8c63aa1986dbbd5cf95c1d1355382611961d274361478ebcbc523629b898c08a->geticon()
                #2 /var/www/html/smartvisu/vendor/Twig/src/Template.php(702): __TwigTemplate_b4f6a34966f38bc6c561c39bf40997dc4323ca293925bcbd44b0b96b1e8fb971->getuzsuicon()
                #3 /var/www/html/smartvisu/vendor/Twig/src/Environment.php(497) : eval()'d code(58): Twig\Template->getAttribute()
                #4 /var/www/html/smartvisu/vendor/Twig/src/Template.php(214): __TwigTemplate_2d21d1573e7effd6257de3b1a0db8b38603684a73f1e128cadc29483ea40325c->block_content()
                #5 /var/www/html/smartvisu/vendor/Twig/src/Environment.php(497) : eval()'d code(79): Twig\Template->displayBlock()
                #6 /var/ww" while reading response header from upstream, client: 192.168.0.3, server: 192.168.0.23, request: "GET /index.php?page=room.Gesamt HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "192.168.0.23", referrer: "http://192.168.0.23/index.php"
                
                2024/01/19 12:52:27 [error] 165#165: *95 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught TypeError: Illegal offset type in isset or empty in /var/www/html/smartvisu/vendor/Twig/src/Template.php:538
                ​
                Was mir noch aufgefallen ist, im Admin Menüe unter Plugin Liste ist das UZSU Plugin das einzige was nicht den Wert "ML" hat.
                Zuletzt geändert von Haxley; 19.01.2024, 14:46.

                Kommentar


                  #9
                  Hmm.
                  Wenn ich auf meinem Testserver den Ausschnitt aus Deiner yaml kopiere, sieht das Ergebnis so aus:

                  grafik.png

                  Die zugehörige Seite "room.Gesamt.html":
                  Code:
                  /**
                  * -----------------------------------------------------------------------------
                  * @package     SmartHomeNG page auto generation for smartVISU
                  * @author      Martin Sinn
                  * @copyright   2020
                  * @license     GPL [http://www.gnu.de]
                  * -----------------------------------------------------------------------------
                  */
                  
                  
                  {% extends "rooms.html" %}
                  
                  {% block content %}
                  
                          <h1><img class="icon" src='{{ icon0 }}status_available.svg' />Gesamt</h1>
                  
                  
                          <div class="block">
                          <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                  
                                  <div data-role="collapsible" data-collapsed="false">
                                          <h3>Gesamt</h3>
                                          <div align='right'> Weihnachtslicht<img class='icon' src='{{ icon0 }}light_x-mas_tree.svg' />    {{device.uzsuicon('Weihnachtslicht_Garage_oben','meintestitem.uzsu', 'Weihnachtslicht', '', '', '', 'bool', ['AN','AUS'])}}</div>
                                  </div>
                  
                          </div>
                  </div>
                  
                  
                  {% endblock %}
                  Und die rooms_menu.html
                  Code:
                  <ul data-role="listview" data-dividertheme="c">
                  
                          <li class="ui-li-has-thumb" data-icon="false">
                          <a href="index.php?page=room.Gesamt">
                                  {{ lib.svgimg ('', 'status_available.svg', '{{ icon0 }}', '') }}
                  
                                  <h3>Gesamt</h3>
                                  <div class="ui-li-aside"><br/></div>
                          </a>
                  </li>
                  
                  
                  </ul>
                  ​
                  Da ist noch ein Bug beim Laden des icons. Du kannst manuell mal die beiden geschweiften Klammern um den Ausdruck icon0 entfernen:
                  Code:
                                  {{ lib.svgimg ('', 'status_available.svg', 'icon0', '') }}
                  ​
                  Ich kümmere mich um die Korrektur im Plugin, aber der Fehler ist damit nicht erklärbar.

                  Schau mal, ob die Dateien bei Dir Unterschiede zu diesen hier aufweisen.

                  Kommentar


                    #10
                    Ja genau so sieht das aus.
                    Der erstellete html Code und die Divs sehen genau so aus wie bei Dir. (Wegen dem Icon... das wäre jetzt nicht schlimm die Klammern ändern erst mal nichts.)
                    Trotzdem läd es die Seite nicht. Mich wundert es, dass die Seite garnicht geladen wird. Irgendwas wird benötigt was nicht zur Verfügung steht.
                    Das kann eigentlich nur der PHP Teil ab "device.uzsuicon..." sein.
                    PHP8.2 log hat keinen Fehler.
                    Bleibt eigentlich nur noch Python, numpy-1.24.4 und scipy-1.8.1 laufen.
                    Sonst keine Fehler.
                    Hast noch mehr Ideen?

                    Kommentar


                      #11
                      Die benötigten PHP-Module hast Du installiert, oder? Siehe die readme.md im Hauptverzeichnis der Visu. Der Templatechecker zeigt bei den wichtigsten Modulen auch, ob sie vorhanden sind.

                      Kommentar


                        #12
                        Ich habe noch mal alles neu installiert. Geht immer noch nicht.
                        PHP Module: libawl-php php-curl php php-json php-xml php-mbstring sind installiert.
                        Wobei ich mich bei PHP8.2 fast doof gesucht habe nach php-json. Das ist mit 8.0 in den Core übergegangen und muss nicht mehr separt installiert werden.
                        Könnte höchtens noch mal PHP7.4 probieren da leut es auf dem anderen Server.

                        Kommentar


                          #13
                          So, habe nun Nginx auf PHP7.4 umgestellt. Läuft alles.
                          Das ärgert mich echt, dass immer auf so altes Zeug gesetzt werden muss. Vielleicht sollten diese Infos mit in die Doku, denn ich glaube nicht das heute jemand von Haus aus PHP7.4 installiert wo wir bei 8.3 sind. Genauso nur altes Python 3.9 usw. Selbst Debian 12 geht kaum da dort alles downgradet werden muss, was mega schlecht bis garnicht geht. Naja.... Läuft erstmal, dass ist das Wichtigste
                          Trotzdem ganz lieben Dank für die Mühe. Letztendlich war der Hinweis nach PHP hilfreich.

                          Kommentar


                            #14
                            Wenn Dir „das Zeug“ zu alt ist, schreib Dir doch was neues…
                            Viele Grüße
                            Martin

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

                            Kommentar


                              #15
                              Zitat von Msinn Beitrag anzeigen
                              Wenn Dir „das Zeug“ zu alt ist, schreib Dir doch was neues…
                              Man muss da jetzt nicht unsachlich werden. Mit "altem Zeug" waren Versionen von Linux Programmenversionen gemeint und da was neu schreiben macht ja keinen Sinn.

                              Die Zeit geht halt weiter und in der Doku wären klarere Hinweise schon schön. Gerade Anfänger haben es schwer durchzusehen. Hält sich ein Anfänger z.B. bei einer Installation, unter Debian oder Ubuntu, klar an die Doku wird er am Ende nichts auf dem Bildschirm sehen, da er falsche Versionen verwendet oder z.b. einfach nur die Apache2 Einstellungen fehlen.
                              Aber ihr macht einen super Support danke dafür!
                              Gruß Haxley

                              Kommentar

                              Lädt...
                              X