Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19000303 - Telegram Contact I LBS19000304 - Telegram Receiver I LBS19000645 - Telegram Command Validator

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

    Hallo jonofe,
    seit dem Update auf CentOS 7 bekomme ich
    unter EDOMI 2.0,
    mit dem Telegram-Contact LBS19000303,
    beim versenden eines Kamerabildes über E9,
    diesen Fehler im Fehlerlog von EDOMI:

    Datei: /usr/local/edomi/main/include/php/php-telegram-bot/src/Request.php | Fehlercode: 0 | Zeile: 291 | Class 'Longman\TelegramBot\CURLFile' not found
    Der LBS stellt seine Arbeit bis zum Neustart von EDOMI ein

    Google brachte etwas über die PHP Version?

    Gruß,
    Wolfgang

    Kommentar


      Wie sieht denn der String an E9 aus?

      Kommentar


        Hier der String:
        Code:
        1;1;04.09.2019;18:38:53;890723;/usr/local/edomi/www/data/liveproject/cam/archiv/archiv1-cam1-20190904183853890723.jpg

        Kommentar


          Hast du geprüft, ob das File existiert?

          Kommentar


            Gerade geprüft.
            Datei existiert und lässt sich auch unter Windows öffnen.

            Kommentar


              Ich denke es handelt sich um ein Inkompatibilität der alter php-telegram-bot Library mit PHP 7.x.
              Man könnte versuchen das aktuelle php-telegram-bot per git zu clonen und dies zu verwenden.
              Habe aber im Moment keine Zeit das zu testen.

              Folgendes könntest du machen:

              Code:
              cd /usr/local/edomi/main/include/php
              mkdir telegram
              cd telegram
              git clone [URL]https://github.com/php-telegram-bot/core[/URL]
              cd core
              composer install
              composer update
              Danach das require Statement im LBS EXEC Abschnitt ändern in:

              Code:
              require (dirname(__FILE__) . "/../../../../main/include/php/[COLOR=#FF0000][B]telegram/core[/B][/COLOR]/vendor/autoload.php");
              Falls das nicht auf Anhieb funktioniert, musst du noch ein wenig warten, bis ich es mir genauer anschauen kann.

              Kommentar


                Vielen Dank, ich teste morgen Abend, kann heute leider nicht mehr.

                Gruß
                Wolfgang

                Kommentar


                  Hallo jonofe ,
                  ich hab die Änderungen durchgeführt.
                  Jetzt bleibt der Baustein am leben und es gibt keinen Eintrag mehr im Edomi Error.log, dafür aber im Custom.Log des LBS:


                  Code:
                  2019-09-05 17:50:58    086055    13854    debug      LBS19000303 [v0.9]:    LBS started (91)
                  2019-09-05 17:50:58    091547    13854    debug      LBS19000303 [v0.9]:    LBS ended (91)
                  2019-09-05 17:51:03    218314    13854    debug      LBS19000303 [v0.9]:    LBS started (91)
                  2019-09-05 17:51:03    224097    13854    debug      LBS19000303 [v0.9]:    Create Message Queue with ID: 6929917 (91)
                  2019-09-05 17:51:03    226520    13854    debug      LBS19000303 [v0.9]:     command started (91)
                  2019-09-05 17:51:03    226774    13854    debug      LBS19000303 [v0.9]:    ================ ARRAY/OBJECT START ================
                  2019-09-05 17:51:03    227009    13854    debug      LBS19000303 [v0.9]:    {"cam":"1;1;05.09.2019;17:49:30;531021;\/usr\/local\/edomi\/www\/data\/liveproject\/cam\/archiv\/archiv1-cam1-20190905174930531021.jpg"}
                  2019-09-05 17:51:03    227211    13854    debug      LBS19000303 [v0.9]:    ================ ARRAY/OBJECT  END  ================
                  2019-09-05 17:51:03    229557    13854    debug      LBS19000303 [v0.9]:    LBS ended (91)
                  2019-09-05 17:51:03    239981    14390    debug      EXE19000303 [v0.9]:    Telegram message execution started (91)
                  2019-09-05 17:51:03    243983    14390    debug      EXE19000303 [v0.9]:    Command:cam (91)
                  2019-09-05 17:51:03    247509    14390    debug      EXE19000303 [v0.9]:    snapshot array (91)
                  2019-09-05 17:51:03    247746    14390    debug      EXE19000303 [v0.9]:    ================ ARRAY/OBJECT START ================
                  2019-09-05 17:51:03    247916    14390    debug      EXE19000303 [v0.9]:    ["1","1","05.09.2019","17:49:30","531021","\/usr\/local\/edomi\/www\/data\/liveproject\/cam\/archiv\/archiv1-cam1-20190905174930531021.jpg"]
                  2019-09-05 17:51:03    248051    14390    debug      EXE19000303 [v0.9]:    ================ ARRAY/OBJECT  END  ================
                  2019-09-05 17:51:03    292550    14390    debug      EXE19000303 [v0.9]:    Failed to send Telegram cam message: /usr/local/edomi/www/data/liveproject/cam/archiv/archiv1-cam1-20190905174930531021.jpg (-131692428) (91)
                  2019-09-05 17:51:03    292887    14390    debug      EXE19000303 [v0.9]:    ================ ARRAY/OBJECT START ================
                  2019-09-05 17:51:03    293104    14390    debug      EXE19000303 [v0.9]:    true
                  2019-09-05 17:51:03    293304    14390    debug      EXE19000303 [v0.9]:    ================ ARRAY/OBJECT  END  ================
                  2019-09-05 17:51:03    297893    14390    debug      EXE19000303 [v0.9]:    Telegram message execution finished (91)
                  Gruß
                  Wolfgang

                  Kommentar


                    Das Problem kann soweit nachvollziehen.
                    Die alte Library ist nicht mit PHP7.x kompatibel und die neue hat neue API Aufrufkonventionen, so dass dies jetzt zu einem LBS führen wird, welcher nur noch für PHP7.x entwickelt wird. Ich werde die alte Version dann im DL Portal im ZIP-File hochladen. Dafür wird es dann aber keine Weiterentwicklung mehr geben.

                    Ich muss jetzt zunächst den gesamten LBS prüfen und entsprechend anpassen. Wird ein wenig dauern.

                    Als Quickfix für den Cam/Photo Eingang:

                    Wenn du im LBS den "cam" Bereich durch folgendes ersetzt, sollte es funktionieren: (ungefähr ab Zeile 428)

                    PHP-Code:
                                        case 'cam':
                                            if (
                    $cmd == 'cam') {
                                                
                    $snapshot explode(';'$content);
                                                
                    logging($id'snapshot array'$snapshot);
                                                if (
                    is_array($snapshot) && count($snapshot) == 6)
                                                    
                    $content $snapshot[5];
                                                elseif (
                    is_array($snapshot) && count($snapshot) == 2) {
                                                    
                    $content $snapshot[0];
                                                }
                                            }
                                            
                    $data = array(
                                                
                    'chat_id' => $chatId
                                            
                    );
                                            
                    // extract captionn
                                            
                    if ($cmd == 'photo') {
                                                
                    $photo explode(';'$content);
                                                if (
                    is_array($photo) && count($photo) >= 2)
                                                    
                    $data['caption'] = $photo[1];
                                                
                    $content $photo[0];
                                            }
                                            
                                            if (
                    $quality != 'high') {
                                                
                    $data['photo'] = Request::encodeFile($content);
                                                
                    $result Request::sendPhoto($data);
                                                
                    // $result = Request::sendPhoto($data, $content)
                                            
                    } else
                                                
                    // $result = Request::sendDocument($data, $content);
                                                
                    $result Request::sendDocument($data);
                                            if (
                    $result->isOk()) {
                                                
                    logging($id'Telegram ' $cmd ' message sent: ' $content ' (' $chatId ')');
                                                
                    setLogicLinkAusgang($id1'OK');
                                            } else {
                                                
                    logging($id'Failed to send Telegram ' $cmd ' message: ' $content ' (' $chatId ')'true);
                                                
                    setLogicLinkAusgang($id1'ERROR');
                                            }
                                            break; 

                    Kommentar


                      Funktioniert !
                      Vielen Dank für den extrem schnellen Fix.

                      Kommentar


                        Ja, funktioniert.
                        Auch von meiner Seite, Danke für den Fix.

                        Kommentar


                          Hallo zusammen, ich hab keine Ahnung warum aber ich hab das Thema mit dem "Cam" Eingang auch seit einiger Zeit unter CentOS 6.5 und Edomi 2.0. Hab auch den neuesten Baustein 0.9 geladen aber ohne Erfolg. Auch die Änderungen im LBS hab ich mal probiert. Nichts.
                          so steht es im Log:
                          2019-09-26 23:04:53 508472 1382 debug LBS19000303 [v0.8.2]: LBS started (1833)
                          2019-09-26 23:04:53 512744 1382 debug LBS19000303 [v0.8.2]: Create Message Queue with ID: 5f2d7ab0 (1833)
                          2019-09-26 23:04:53 515424 1382 debug LBS19000303 [v0.8.2]: command started (1833)
                          2019-09-26 23:04:53 515779 1382 debug LBS19000303 [v0.8.2]: ================ ARRAY/OBJECT START ================
                          2019-09-26 23:04:53 515980 1382 debug LBS19000303 [v0.8.2]: {"cam":"1;1;26.09.2019;23:04:53;393450;\/usr\/local\/edomi\/www\/data\/liveproject\/cam\/archiv\/archiv1-cam1-20190926230453393450.jpg"}
                          2019-09-26 23:04:53 516294 1382 debug LBS19000303 [v0.8.2]: ================ ARRAY/OBJECT END ================
                          2019-09-26 23:04:53 517431 1382 debug LBS19000303 [v0.8.2]: LBS ended (1833)
                          2019-09-26 23:04:53 584191 1506 debug EXE19000303 [v0.8.2]: Telegram message execution started (1833)
                          2019-09-26 23:04:53 585141 1506 debug EXE19000303 [v0.8.2]: Command:cam (1833)
                          2019-09-26 23:04:53 668638 1506 debug EXE19000303 [v0.8.2]: Exception caught: failed creating formpost data (1833)
                          2019-09-26 23:04:53 668751 1506 debug EXE19000303 [v0.8.2]: ================ ARRAY/OBJECT START ================
                          2019-09-26 23:04:53 668823 1506 debug EXE19000303 [v0.8.2]: true
                          2019-09-26 23:04:53 668884 1506 debug EXE19000303 [v0.8.2]: ================ ARRAY/OBJECT END ================
                          2019-09-26 23:04:53 669612 1506 debug EXE19000303 [v0.8.2]: Telegram message execution finished (1833)
                          Das Bild selber kann ich via Browser anschauen und liegt dort auch.
                          Hat jemand einen Rat für mich.
                          Danke.

                          Kommentar


                            Hallo!
                            Gibt es eine Möglichkeit, das Telegram.LBS zentral zu sperren?
                            Ich habe es versucht, den API-Key leer zu lassen, was zu Fehlermeldungen führt.

                            Hintergrund: Ich habe aus Redundanzgründen 2 Edomi-Instanzen auf separater Hardware laufen. (und spiele bei jeder aktivierung am Backupsystem ein Backup 1:1 ein)
                            Das Hot-Backup ist über sperren vor jedem Ausgang praktisch inaktiv gesetzt und aktiviert sich über einen Watchdog(und IP-Prüfung) beim Ausfall des anderen.

                            Nun, Telegram aber mag es nicht, wenn sich 2 Instanzen mit dem selben API Key mit dem Server verbinden, daher würde ich das ebenfalls gerne steuern
                            bzw. deaktivieren.

                            sG Joe

                            Kommentar


                              Zitat von givemeone Beitrag anzeigen
                              Gibt es eine Möglichkeit, das Telegram.LBS zentral zu sperren?
                              Welchen Telegram LBS meinst du? Den Receiver?
                              Der hat doch den Eingang E1, darüber kannst du ihn deaktivieren.

                              Der Telegram-Contact LBS sollte eigentlich keine Probleme machen, wenn er in mehreren Edomi gleichzeitig läuft.

                              Kommentar


                                Zitat von fiddo Beitrag anzeigen
                                Hat jemand einen Rat für mich.
                                Der Fehler stammt aber aus der Version 0.8.2.

                                Du solltest also:
                                Auf v0.9 updaten. Dann nochmal ausführen und den Fehler hier posten.

                                Die v1.0, die bald kommt, wird dann die aktuellste php-telegram-bot Library unterstützen und nur noch unter PHP7.x lauffähig sein.

                                Kommentar

                                Lädt...
                                X