Ankündigung

Einklappen
Keine Ankündigung bisher.

MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054

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

  • hartwigm
    antwortet
    Seit der Umstellung auf Centos 7 mit dem Docker Image bekomme ich immer beim Starten den folgenden Fehler im Logfile

    2020-01-04 17:50:27 744708 ? 1697 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001054.php | Fehlercode: 2 | Zeile: 96 | msg_send(): msgsnd failed: Permission denied ERROR
    2020-01-04 17:50:27 814184 ? 1697 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001054.php | Fehlercode: 2 | Zeile: 96 | msg_send(): msgsnd failed: Permission denied ERROR
    Ich bekommen aber aus dem Baustein Werte heraus.

    Eine Idee was das sein, kann bzw. wie ich die Meldung wegbekommen kann?

    Einen Kommentar schreiben:


  • MKHR
    antwortet
    Danke, klappt genau so.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von MKHR Beitrag anzeigen
    Könntest du in LBS 19001198 eventuell noch einen "Postfix" implementieren?
    Schau dir mal die Version 0.2 an, ob es so funktioniert, wie du es dir vorgestellt hast.
    Ich habe den Eingang mal hinten angehängt (E22), damit man nicht alles umverdrahten muss.
    Wenn E22 leer ist, dann verhält sich der LBS wie vorher, somit sollte ein Update auch für andere problemlos möglich sein.

    Einen Kommentar schreiben:


  • MKHR
    antwortet
    Hallo jonofe,

    passt eventuell nicht direkt ins Thema, aber irgendwie ja doch...
    Könntest du in LBS 19001198 eventuell noch einen "Postfix" implementieren?
    also bspw. "/set" mit ans Topic anhängen?

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Zitat von ;n1443051
    bin gerade über Deinen Beitrag gestolpert, verstehe ich das richtig, dass moquitto so auf centos 6.x läuft?
    Ich verstehe Punkt 1) leider nicht, kannst Du mir auf die Sprünge helfen?
    Leider Nein. Auf 6.5 bekomme ich Mqtt nicht mehr zum laufen, daher habe ich nun auf 7.6.1810 gewechselt und damit geht mqtt wieder

    Ich habe es in Docker installiert und hier ging es mit:

    Code:
    # INSTALLING MQTT
    RUN yum -y install epel-release php-process git gcc make
    RUN yum -y install mosquitto mosquitto-devel php-devel
    WORKDIR /tmp
    RUN git clone [URL]https://github.com/mgdm/Mosquitto-PHP.git[/URL]
    WORKDIR /tmp/Mosquitto-PHP
    RUN phpize
    RUN ls -lah
    RUN ./configure
    RUN make
    RUN make install
    RUN echo 'extension=mosquitto.so' > /etc/php.d/50-mosquitto.ini
    Run und Workdir wegnehmen, stammt aus einem Dockerfile

    Einen Kommentar schreiben:


  • BlicKtNiX
    antwortet
    Hi jonofe,

    php-m bringt folgendes:

    Code:
    [root@localhost ~]# php -m
    PHP Warning:  PHP Startup: Unable to load dynamic library 'mosquitto.so' (tried: /usr/lib64/php/modules/mosquitto.so (/usr/lib64/php/modules/mosquitto.so: undefined symbol: zend_object_store_get_object), /usr/lib64/php/modules/mosquitto.so.so (/usr/lib64/php/modules/mosquitto.so.so: undefined symbol: zend_object_store_get_object)) in Unknown on line 0
    [PHP Modules]
    bz2
    calendar
    Core
    ctype
    curl
    date
    exif
    fileinfo
    filter
    ftp
    gettext
    hash
    iconv
    json
    libxml
    mysqli
    mysqlnd
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    pdo_sqlite
    Phar
    posix
    readline
    Reflection
    session
    shmop
    soap
    sockets
    SPL
    sqlite3
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    zlib
    
    [Zend Modules]

    (Neu) installieren habe ich lt. Anleitung gemacht, um das php-devel ergänzt:

    Code:
    yum -y install epel-release php-process git gcc make
    yum -y install mosquitto mosquitto-devel php72-php-devel php-devel
    cd /tmp
    git clone https://github.com/mgdm/Mosquitto-PHP
    cd Mosquitto-PHP
    phpize
    ./configure
    make
    make install
    echo 'extension=mosquitto.so' > /etc/php.d/50-mosquitto.ini

    Die Pakete sind soweit alle da, liefen auch bei der Erstinstallation gut durch:

    Code:
    Paket epel-release-7-12.noarch ist bereits in der neuesten Version installiert.
    Paket php-process-7.2.26-1.el7.remi.x86_64 ist bereits in der neuesten Version installiert.
    Paket git-1.8.3.1-20.el7.x86_64 ist bereits in der neuesten Version installiert.
    Paket gcc-4.8.5-39.el7.x86_64 ist bereits in der neuesten Version installiert.
    Paket 1:make-3.82-24.el7.x86_64 ist bereits in der neuesten Version installiert.
    Nichts zu tun
    
    
    Paket mosquitto-1.6.8-1.el7.x86_64 ist bereits in der neuesten Version installiert.
    Paket mosquitto-devel-1.6.8-1.el7.x86_64 ist bereits in der neuesten Version installiert.
    Paket php72-php-devel-7.2.26-1.el7.remi.x86_64 ist bereits in der neuesten Version installiert.
    Paket php-devel-7.2.26-1.el7.remi.x86_64 ist bereits in der neuesten Version installiert.
    Nichts zu tun

    Den Mosquitto-PHP habe ich komplett gelöscht und neu geladen.
    Wenn ich nach
    Code:
    make
    ein
    Code:
    make test
    mache kommt schon der o.g. Fehler...


    Zur Vollständigkeit noch:
    Code:
    [root@localhost Mosquitto-PHP]# cat /etc/php.d/50-mosquitto.ini
    extension=mosquitto.so

    Ich steh echt auf dem Schlauch, vielen Dank für eure Hilfe!

    Viele Grüße,
    Domenic
    Zuletzt geändert von BlicKtNiX; 26.12.2019, 09:56.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von BlicKtNiX Beitrag anzeigen
    Hat jemand eine Idee was das Problem ist bzw. was ich probieren könnte?
    Mosquitto neu installieren. Das sieht so aus als wäre dies nicht korrekt installiert.

    Was sagt ein

    Code:
    php -m
    In der resultierenden Module Liste sollte 'mosquitto' auftauchen.

    Einen Kommentar schreiben:


  • BlicKtNiX
    antwortet
    Hallo zusammen,

    nachdem ich EDOMI 2.0 in einer neue Proxmox VM auf Centos 7.7 aufgesetzt habe bin ich nun auf ein neues Problem gestossen, dass vorher (im LXC container) nicht da war und einwandfrei funktioniert hatte. Ich hoffe Ihr könnt mir helfen.

    Benutzer LBS: LBS19001054

    EDOMI schmeißt beim startup den folgenden fehler im Error log:
    Code:
    [COLOR=#FF0000][FONT=EDOMIfontMono][SIZE=10px]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001054.php | Fehlercode: 0 | Zeile: 47 | Class 'Mosquitto\Client' not found[/SIZE][/FONT][/COLOR]

    Bei der Installation nach Anleitung ist prinzipiell alles ohne Fehler durchgelaufen, bzw. sah einwandfrei aus. Beim Wiederholen bringt ein "make test" folgenden Output:

    Code:
    PHP Warning:  PHP Startup: Unable to load dynamic library 'mosquitto.so' (tried: /tmp/Mosquitto-PHP/modules/mosquitto.so (/tmp/Mosquitto-PHP/modules/mosquitto.so: undefined symbol: zend_object_store_get_object), /tmp/Mosquitto-PHP/modules/mosquitto.so.so (/tmp/Mosquitto-PHP/modules/mosquitto.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
    Hat jemand eine Idee was das Problem ist bzw. was ich probieren könnte?



    Zuletzt geändert von BlicKtNiX; 26.12.2019, 00:15.

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Der 1052 subscribed doch nur auf die edomi ikos/GAs um diese von außen zu setzen. ...
    Normalerweise macht man das indem man beim publish das Retain flag setzt. Dann bekommt der Subscriber den Wert direkt nach dem Subscribe Vorgang.
    Hallo Andy,

    vielen Dank für den Hinweis.
    Funktioniert, mit dem Retain-Flag setzen.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Der 1052 subscribed doch nur auf die edomi ikos/GAs um diese von außen zu setzen. Meinst du das?
    oder meinst du denn subscribe Client? Normalerweise macht man das indem man beim publish das Retain flag setzt. Dann bekommt der Subscriber den Wert direkt nach dem Subscribe Vorgang.

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Hallo zusammen,

    beim MQTT Server 19001052, wie macht Ihr das bei einem Neustart oder einer Projektaktivierung?
    Sind eure internen KOs alle remanent angelegt, kann man eine INIT Abfrage beim Start/Aktivierung irgendwie erstellen?

    Vielen Dank.

    Einen Kommentar schreiben:


  • BlicKtNiX
    antwortet
    Hallo hartwigm,

    bin gerade über Deinen Beitrag gestolpert, verstehe ich das richtig, dass moquitto so auf centos 6.x läuft?
    Ich verstehe Punkt 1) leider nicht, kannst Du mir auf die Sprünge helfen?

    Modifizierter Hilfetext auf dem Adapter
    Code:
    [MARKIEREN]yum -y install php-process git gcc make[/MARKIEREN]
    [MARKIEREN]yum -y install mosquitto mosquitto-devel php-devel[/MARKIEREN]
    cd /tmp
    git clone https://github.com/mgdm/Mosquitto-PHP
    cd Mosquitto-PHP
    phpize
    ./configure
    make
    make install
    echo 'extension=mosquitto.so' > /etc/php.d/50-mosquitto.ini







    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Bei mir hat es nun funktioniert allerdings mit den folgenden Änderungen:


    1.) https://dl.fedoraproject.org/pub/epe...t-7.noarch.rpm
    2.) yum -y install php-process git gcc make

    3.) yum -y install mosquitto mosquitto-devel php-devel


    Der Aufruf von
    yum -y install epel-release

    hat bei mir immer das Release 8.5 gezogen, mit dem expliziten Aufruf der Version 7 ging nun alles

    Danke für den wichtigsten LBS für Edomi
    Zuletzt geändert von hartwigm; 22.12.2019, 08:17.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Wie bereits zuvor erwähnt, das scheint am fehlen epel repo zu liegen. Sicher das dies korrekt installiert ist?

    Siehe auch hier:

    https://www.digitalocean.com/communi...er-on-centos-7

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    php-devel lässt sich installieren.

    aber:

    yum -y install mosquitto
    Failed to set locale, defaulting to C
    Last metadata expiration check: 18:06:46 ago on Fri Dec 20 17:21:41 2019.
    No match for argument: mosquitto
    Error: Unable to find a match

    Einen Kommentar schreiben:

Lädt...
X