Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - RockyLinux (x86_64 & aarch64)

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

    #91
    Zitat von starwarsfan Beitrag anzeigen
    Das werde ich mal nachstellen und mit allfälligen Changes neue Images resp. Container-Templates bauen.
    Super! Vielen Dank.
    Gruß -mfd-
    KNX-UF-IconSet since 2011

    Kommentar


      #92
      Hallo und guten Abend

      Zitat von starwarsfan Beitrag anzeigen
      Das werde ich mal nachstellen und mit allfälligen Changes neue Images resp. Container-Templates bauen.
      Es liegt in der Tat nur an den fehlenden Locales und tritt auch nur im Docker-Image auf. Beim LXC-Template ist alles in Ordnung.

      Du kannst einfach in den Container gehen und dort

      Code:
      dnf install -y glibc-langpack-de
      eingeben. Danach ist der Kalender deutschsprachig.

      Wird in der nächsten Image-Version eingebaut.
      Zuletzt geändert von starwarsfan; 09.01.2024, 22:13.
      Kind regards,
      Yves

      Kommentar


        #93
        Hallo miteinander,

        Version 2.03.8 des Images ist auf DockerHub verfügbar, jetzt mit deutschen Locales.

        mfd Danke für's melden!
        Zuletzt geändert von starwarsfan; 09.01.2024, 23:11.
        Kind regards,
        Yves

        Kommentar


          #94
          Hi Zusammen, ich starte das neue Docker Image auf meinem Pi4 wie folgt:

          sudo docker run --name edomidocker --restart=on-failure -e HTTPPORT=88 -p 88:88 -p 50000:50000/udp -p 50001:50001/udp -p 22222:22 -e KNXACTIVE=true -e KNXGATEWAYIP=192.168.188.20 -e KNXGATEWAYPORT=3671 -e HOSTIP=192.168.188.40 -v edomi-backups:/var/edomi-backups -v edomi-mysql:/var/lib/mysql -v edomi_env:/usr/local/edomi -d starwarsfan/edomi-docker:2.03.8

          also den internen Port 88 auf extern 88 gemappt. HTTPPORT Variable angegeben. Auf "80" läuft bei mir schon "MS4H".

          Bei Aufruf im Browser 192.168.188.40:88

          kommt HTTP Server Test Page.

          Wenn ich jetzt noch das /admin , also so >192.168.188.40:88/admin< anfüge , springt es oben in der Adresszeile auf 127.0.0.1​/admin und findet natürlich nichts. was ist denn da faul ? Mit 192.168.188.40:88/visu, kommt zumindest der rote Edomi Kringel. Früher war das bei mir eher umgekehrt das Problem, dass ich nie auf die Visu Seite komme.

          Seltsam. Hat jemand eine Idee ?

          Bridge ist doch korrekt.


          Hier noch der Log vom Start:

          Signature ok
          subject=C = NZ, ST = Metropolis, L = Metropolis, CN = edomi
          Getting Private key
          HOSTIP set to 192.168.188.40 ... configure /usr/local/edomi/edomi.ini and /etc/httpd/conf/httpd.conf
          KNXGATEWAYIP set to 192.168.188.20 ... configure /usr/local/edomi/edomi.ini
          KNXGATEWAYPORT set to 3671 ... configure /usr/local/edomi/edomi.ini
          KNXACTIVE set to true ... configure /usr/local/edomi/edomi.ini
          WEBSOCKETPORT not set, using edomi default settings.
          HTTPPORT set to 88 ... configure /etc/nginx/conf.d/edomi.conf
          TZ not set, using edomi default settings.
          Disabling heartbeat log output every second ... configure /usr/local/edomi/edomi.ini

          EDOMI - (c) Dr. Christian Gärtner

          SERVER: Initialisierung
          EDOMI: Basis-Konfiguration
          /usr/local/edomi/edomi.ini eingelesen
          >>> EDOMI startet in 3 Sekunden (Abbrechen mit ENTER) <<<
          21.01.2024 22:43:15 Prozess MAIN gestartet
          21.01.2024 22:43:15 EDOMI-Version: 2.03
          21.01.2024 22:43:15 EDOMI-ClientId: ......xxxxx..[...]
          21.01.2024 22:43:15 Server wurde rebootet
          21.01.2024 22:43:15 Prüfung: 64-Bit-System
          21.01.2024 22:43:15 PHP-Zeitzone: Europe/Berlin (Winterzeit)
          21.01.2024 22:43:15 Datenbank: Verbindung herstellen
          21.01.2024 22:43:15 Datenbank: 3 Datenbanken überprüft (0 Fehler)
          21.01.2024 22:43:15 Datenbank: RAM reservieren (100 MB pro RAM-DB)
          21.01.2024 22:43:15 Datenbank: edomiLive erstellen
          21.01.2024 22:43:15 Datenbank: edomiLive.RAMcmdQueue löschen
          21.01.2024 22:43:15 Datenbank: edomiLive.RAMcmdQueue erstellen
          21.01.2024 22:43:15 Prozess QUEUE starten
          21.01.2024 22:43:15 Prozess SYSINFO starten
          21.01.2024 22:43:15 ACHTUNG: EDOMI wurde unerwartet beendet!
          21.01.2024 22:43:20 EDOMI: Pause (kein Live-Projekt vorhanden)​
          Zuletzt geändert von Mikemacer; 21.01.2024, 23:20.

          Kommentar


            #95
            Hi

            Zitat von Mikemacer Beitrag anzeigen
            Wenn ich jetzt noch das /admin , also so >192.168.188.40:88/admin< anfüge , springt es oben in der Adresszeile auf 127.0.0.1​/admin und findet natürlich nichts. was ist denn da faul ?
            Sorry, Fehler in der Doku. Du musst die URLs mit abschliessendem Slash aufrufen! Also

            Code:
            http://192.168.188.40:88/admin/
            Kind regards,
            Yves

            Kommentar


              #96
              starwarsfan na das war ja einfach . Dankeschön.

              Ihr wollt nicht wissen wieviel Container und Volumes ich angelegt hatte . Aber wie heißt es so schön , nicht zur Strafe …..
              Jetzt klappt das Container anlegen im Schlaf, auch die Angst von der Kommandozeile hat sich in Luft aufgelöst.

              vielen Dank für Eure tolle Arbeit , echt Klasse was Ihr so auf die Füße stellt.

              Kommentar


                #97
                Guude,

                hat das Image jemand of Unraid am laufen ?
                Ich bekomme es noch diversen Versuchen nicht mehr hin.

                Kommentar


                  #98
                  Hallo starwarsfan,
                  zuerst möchte ich DANKESCHÖN für die Bereitstellung der Docker Images sagen
                  Ich habe ein Problem mit dem MQTT Publish Server LBS (19001051) und habe dazu einige Nachfragen. Vielleicht kannst Du mich in die richtige Richtung lenken

                  Ich habe die Version 2.03.8 des Edomi-Dockerimages​ ​auf meinem Timberwolf Server 3500XL installiert. Der TWS läuft mit Macvlan, so dass die Edomi Installation eine eigene IP Adresse verwendet. Das funktioniert im Prinzip auch ohne Probleme - ich kann das Admin Interface der Edomi Installation problemlos erreichen und kann mich auch per SSH auf die Edomi Installation verbinden. Edomi 'sieht' auch den KNX Traffic über einen Tunnel vom TWS. Ich habe bisher nur einmal die Basis-Konfiguration durchgeführt und meine GAs importiert - ansonsten ist die Edomi Installation noch im Originalzustand.

                  Nun möchte ich MQTT nutzen, um Daten von Edomi zum TWS zu übertragen.

                  Du schreibst in Deiner Anleitung
                  Es ist eine ganze Reihe zusätzlicher Pakete für Userland-LBS'e bereits vorab installiert.
                  Bedeutet dies, dass die folgenden Schritte aus der LBS Anleitung für den MQTT Publish Server LBS (19001051) bereits durchgeführt wurden:
                  Code:
                  You need to install EPEL and REMI Repos on your EDOMI Server
                  ============================================================
                  wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm && rpm -Uvh remi-release-7.rpm
                  
                  No further installations required. In case mosquitto php module is missing, it will be installed automagically.
                  As this LBS needs some external libraries, it is necessary to run an the following installation script:
                  
                  yum -y install php-process git gcc make mysql-devel php-devel
                  yum -y install autoconf automake libtool
                  cd /tmp
                  git clone https://github.com/jonofe/lib_mysqludf_sys
                  cd lib_mysqludf_sys/
                  ./install.sh
                  cd /tmp
                  rm -rf lib_mysqludf_sys/
                  git clone https://github.com/mysqludf/lib_mysqludf_log
                  cd lib_mysqludf_log
                  autoreconf -i
                  ./configure
                  make
                  make install
                  mysql < installdb.sql​
                  Ich habe das mal angenommen und nur den eigentlichen LBS im Edomi installiert, aber leider werden keine Informationen per MQTT and den MQTT Broker (läuft auch auf dem TWS) übertragen (ich schaue mit dem "MQTT Explorer" da drauf).
                  Im Edomi erscheint beim Start im 'Individaul Log' vom LBS einmal ein Eintrag.
                  Code:
                  2024-04-08 16:23:07    992542    425    debug-mysql    LBS19001051 [v1.4]: QUERY: CREATE PROCEDURE mqtt_publish(typ INT(10), ga VARCHAR(1000), name VARCHAR(1000), value VARCHAR(11000)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19001051.php ',typ,' ',ga,' \'',name,'\' \'',value,'\' & "'); SET logresult = log_error(cmd); SET result = sys_exec(cmd); END (1)
                  2024-04-08 16:23:08    015302    425    debug-mysql    LBS19001051 [v1.4]: Query: SELECT ga,name FROM edomiLive.ko WHERE text LIKE "%KG Arbeitszimmer%" (1)
                  2024-04-08 16:23:08    022675    425    debug-mysql    LBS19001051 [v1.4]: Query-Result: (1)
                  2024-04-08 16:23:08    023078    425    debug-mysql    LBS19001051 [v1.4]: ================ ARRAY/OBJECT START ================
                  2024-04-08 16:23:08    023359    425    debug-mysql    LBS19001051 [v1.4]: [{"ga":"2\/1\/50","name":"KG Arbeitszimmer RM Licht Decke vorne schalten EIN\/AUS"}]
                  2024-04-08 16:23:08    023751    425    debug-mysql    LBS19001051 [v1.4]: ================ ARRAY/OBJECT END ================​
                  Um sicher zu sein, dass ich die richtigen Einstellungen im LBS benutze, habe ich den MQTT Publish Server LBS (19001051) incl. der angegebenen Installationsschritte auf meinem seit lange laufenden Edomi Server (2.03 unter CentOS 7 in einer VM) installiert und hier kommen die Daten per MQTT beim Broker an.
                  Auf dieser Edomi Installation habe ich noch einen weiteres Custom Log (MQTT_Publish_Server_Exec) was auf dem 'Docker Edomi' fehlt.
                  Kann es sein, dass hier noch irgendwelche Abhängigkeiten fehlen?

                  Falls nicht und ich alles soweit richtig gemacht habe, hat jemand (jonofe - auch an Dich ein großes Dankeschön für die vielen tollen LBS!) evtl. einen Tipp, wie ich weiter vorgehen kann um den Fehler einzugrenzen?

                  Vielen Dank für Eure Unterstützung

                  Piet

                  Kommentar


                    #99
                    Ich möchte auch gerne mein Lob aussprechen, starwarsfan !

                    Gestern habe ich die Gelegenheit wahrgenommen mein Edomi-Server zu dekommisieren indem Edomi mittels 'edomi-docker' auf einen anderen Server (CentOS 8) als Container ausgeführt wird. Ging ja fast problemlos! Chapeau!


                    Nachdem ich die Volumes, gemäss Doku, erstellt habe hat Edomi endlos neu gestartet. In meinem Fall war das Problem, dass Edomi keinen Zugriff auf Volumes wegen SELinux gehabt hat (in meinem Fall hatte MySQL Daemon nicht ausreichend Berechtigung gehabt). Dies war schnell mit `:Z` gelöst. Also so, falls jemand das gleiche Problem hat (siehe Zeilen 12-14):

                    Code:
                    podman run \
                        --name edomi \
                        --restart=on-failure \
                        -p 80:88 \
                        -p 50000:50000/udp \
                        -p 50001:50001/udp \
                        -p 22222:22 \
                        -e KNXACTIVE=true \
                        -e KNXGATEWAYIP=192.168.1.16 \
                        -e KNXGATEWAYPORT=3671 \
                        -e HOSTIP=192.168.1.4 \
                        -v edomi-backups:/var/edomi-backups:Z \
                        -v edomi-installation:/usr/local/edomi:Z \
                        -v edomi-db:/var/lib/mysql:Z \
                        --rm -d \
                        starwarsfan/edomi-docker:2.03.8​
                    Zugriff auf Volume von Host habe ich mittels ​ln -s <Ziel> <Name>​ gelöst. Ziel kann man mittels podman volume inspect <name> rausfinden, unter Mountpoint. Wer Docker nutzt, einfach "podman" durch "docker" ersetzen. Sollte idR klappen!

                    Kommentar


                      Hallo Piet

                      Zitat von piet61 Beitrag anzeigen
                      Bedeutet dies, dass die folgenden Schritte aus der LBS Anleitung für den MQTT Publish Server LBS (19001051) bereits durchgeführt wurden:
                      Korrekt.


                      Zitat von piet61 Beitrag anzeigen
                      Ich habe das mal angenommen und nur den eigentlichen LBS im Edomi installiert, aber leider werden keine Informationen per MQTT and den MQTT Broker (läuft auch auf dem TWS) übertragen (ich schaue mit dem "MQTT Explorer" da drauf).
                      Ich weiss nicht, was genau der LBS macht aber was sollte da denn auch ankommen, wenn Du auf dieser neuen Instanz noch gar nichts konfiguriert hast resp. damit machst!? Dann gibt's IMHO ja auch nichts was zu senden wäre...


                      Zitat von piet61 Beitrag anzeigen
                      ​Falls nicht und ich alles soweit richtig gemacht habe, hat jemand (jonofe - auch an Dich ein großes Dankeschön für die vielen tollen LBS!) evtl. einen Tipp, wie ich weiter vorgehen kann um den Fehler einzugrenzen?
                      Aus meiner Sicht passt das soweit alles aber vielleicht hat jonofe noch einen heissen Tip!
                      Kind regards,
                      Yves

                      Kommentar


                        Hi Yves,
                        vielen Dank für die schnelle Rückmeldung

                        Zitat von starwarsfan Beitrag anzeigen
                        Dann gibt's IMHO ja auch nichts was zu senden wäre...
                        Das ist natürlich ein valider Punkt, allerdings werden, so wie ich es verstanden habe, die Inhalte der GAs per MQTT gesendet, die durch den eingestellten Filter vom LBS (E6/E7 bzw. E15/E16) kommen. In der Installation auf dem CentOS Edomi kann ich das auch so beobachten.

                        Vielleicht hat jonofe ja einen Tipp, in welche Richtung ich weiter suchen kann

                        Viele Grüße

                        Piet

                        Kommentar


                          Hallo piet61,

                          ich weiss woran das liegt. Hier gibt es ein Mismatch zwischen dem was der LBS macht und dem System, auf welchem Edomi betrieben wird. Der 3500er Timberwolf basiert auf aarch64-Architektur (ARM), der LBS versucht aber, die x86_64-Version eines Paketes zu installieren, was natürlich nicht funktionieren kann. Details siehe dieser Thread.

                          Versuche mal bitte, ob Du es damit zum laufen bekommst:

                          Code:
                          dnf install -y http://rpms.remirepo.net/enterprise/remi-release-8.rpm
                          dnf install -y php74-php-pecl-mosquitto.aarch64
                          Zuletzt geändert von starwarsfan; 10.04.2024, 11:22.
                          Kind regards,
                          Yves

                          Kommentar


                            Hallo starwarsfan,
                            vielen Dank für den Tipp. Habe die Pakete wie angegeben installiert. Die Installation hat auch problemlos geklappt. Ich habe den Edomi Container auch vorsichtshalber mal durchgestartet - allerdings kommen leider immer noch keine Daten beim MQTT Broker an

                            jonofe ,
                            hättest Du evtl. einen Tipp für mich, was ich tun kann, um die Fehlerursache herauszufinden?

                            Nach wie vor gibt es nur ein Custom Log im Edomi auf dem TWS
                            image.png
                            Hier werden bei jedem Start von Edomi diese bereits beschriebenen Einträge hinterlegt
                            Code:
                            2024-04-10 13:26:01    437819    1102    debug-mysql    LBS19001051 [v1.4]: QUERY: CREATE PROCEDURE mqtt_publish(typ INT(10), ga VARCHAR(1000), name VARCHAR(1000), value VARCHAR(11000)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19001051.php ',typ,' ',ga,' \'',name,'\' \'',value,'\' & "'); SET logresult = log_error(cmd); SET result = sys_exec(cmd); END (1)
                            2024-04-10 13:26:01    459496    1102    debug-mysql    LBS19001051 [v1.4]: Query: SELECT ga,name FROM edomiLive.ko WHERE text LIKE "%MPUB%" (1)
                            2024-04-10 13:26:01    468255    1102    debug-mysql    LBS19001051 [v1.4]: Query-Result: (1)
                            2024-04-10 13:26:01    468830    1102    debug-mysql    LBS19001051 [v1.4]: ================ ARRAY/OBJECT START ================
                            2024-04-10 13:26:01    469049    1102    debug-mysql    LBS19001051 [v1.4]: [{"ga":"30\/3\/29","name":"Enertex Netzteil - Aktuelle Telegrammrate (pro Sekunde)"}]
                            2024-04-10 13:26:01    469250    1102    debug-mysql    LBS19001051 [v1.4]: ================ ARRAY/OBJECT END ================​​

                            Im Edomi, das auf CentOS in einer VM läuft und auf dem der LBS funktioniert, gibt es zwei Logs für den MQTT_Publish_Server LBS
                            image.png

                            Der LBS scheint auf dem Edomi im Container einfach nichts zu tun - ich bekomme auch keinerlei Fehlermeldung. Auch in den anderen Edomi Logs finde ich keine Hinweise auf den LBS.

                            Die Datei /usr/local/edomi/www/data/tmp/mqtt-config.php hat bei mir folgenden Inhalt:
                            Code:
                            [root@tws-edomi lbs]# cat /usr/local/edomi/www/data/tmp/mqtt-config.php
                            <?php $E=array (
                              1 =>
                              array (
                                'value' => '1',
                                'refresh' => '1',
                                'eingang' => '1',
                              ),
                              2 =>
                              array (
                                'value' => '10.0.2.98',
                                'refresh' => '1',
                                'eingang' => '2',
                              ),
                              3 =>
                              array (
                                'value' => '1883',
                                'refresh' => '1',
                                'eingang' => '3',
                              ),
                              4 =>
                              array (
                                'value' => NULL,
                                'refresh' => '0',
                                'eingang' => '4',
                              ),
                              5 =>
                              array (
                                'value' => NULL,
                                'refresh' => '0',
                                'eingang' => '5',
                              ),
                              6 =>
                              array (
                                'value' => 'Enertex',
                                'refresh' => '1',
                                'eingang' => '6',
                              ),
                              7 =>
                              array (
                                'value' => NULL,
                                'refresh' => '0',
                                'eingang' => '7',
                              ),
                              8 =>
                              array (
                                'value' => 'both',
                                'refresh' => '1',
                                'eingang' => '8',
                              ),
                              9 =>
                              array (
                                'value' => '1',
                                'refresh' => '1',
                                'eingang' => '9',
                              ),
                              10 =>
                              array (
                                'value' => '1',
                                'refresh' => '1',
                                'eingang' => '10',
                              ),
                              11 =>
                              array (
                                'value' => '0',
                                'refresh' => '1',
                                'eingang' => '11',
                              ),
                              12 =>
                              array (
                                'value' => NULL,
                                'refresh' => '0',
                                'eingang' => '12',
                              ),
                              13 =>
                              array (
                                'value' => '9',
                                'refresh' => '1',
                                'eingang' => '13',
                              ),
                              14 =>
                              array (
                                'value' => 'tws-edomi',
                                'refresh' => '1',
                                'eingang' => '14',
                              ),
                              15 =>
                              array (
                                'value' => '1',
                                'refresh' => '1',
                                'eingang' => '15',
                              ),
                              16 =>
                              array (
                                'value' => 'MPUB',
                                'refresh' => '1',
                                'eingang' => '16',
                              ),
                            ); $id='1';$mqttKOs=array (
                              '30/3/29' => 'Enertex Netzteil - Aktuelle Telegrammrate (pro Sekunde)',
                            ​
                            Habe leider nicht genügend Linux bzw. PHP Kenntnisse, um selbst weitere Schritte zu unternehmen, um die Fehlerursache zu finden. Ich würde mich über einen Hinweis, was ich tun kann um den Fehler einzugrenzen, sehr freuen

                            Vielen Dank

                            Piet
                            Angehängte Dateien

                            Kommentar


                              Ich kann da leider nicht helfen, da ich kein EDOMI im Container einsetze.

                              Kommentar


                                Zitat von piet61 Beitrag anzeigen
                                allerdings kommen leider immer noch keine Daten beim MQTT Broker an
                                Hast Du an das Portmapping für MQTT gedacht, wenn Du einen MQTT-Server als LBS betreibst?

                                Kommentar

                                Lädt...
                                X