50_SSChatBot - Integration des Synology Chat Servers

Begonnen von DS_Starter, 25 November 2019, 07:56:56

Vorheriges Thema - Nächstes Thema

DS_Starter

Du könntest es auch mal manuell im Chatdevice testen mit:


set SynChatBot asyncSendItem  text="Kameratest" fileUrl="http://192.168.123.62:8081/surveillance/@Snapshot/Home-20201128-1033555519.jpg"


Bei mir habe ich es getestet und die fileUrl wird korrekt übernommen. Der Versand klappt natürlich nicht da es das Objekt nicht gibt, aber der resultierende Ausbau in der sendQueue stimmt:
7 => userid=>4, text=>Kameratest, retryCount=>1, opmode=>sendItem, method=>chatbot, forbidSend=>illegal file name or path, fileUrl=>http://192.168.123.62:8081/surveillance/@Snapshot/Home-20201128-1033555519.jpg, channel=>, attachment=>

LG
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mobiljoe123

set SynChatBot asyncSendItem  text="Kameratest" fileUrl="http://192.168.123.62:8081/surveillance/@Snapshot/Home-20201128-1033555519.jpg"

:) funktioniert.
Raspi 2; HM; MAX!; RFXtrx

mobiljoe123

Zitat von: DS_Starter am 29 November 2020, 12:31:59
Hast du eventuell noch eine andere Kamera mit einem anderen Namen als Home ?

Ich habe nur eine Kamera.
Raspi 2; HM; MAX!; RFXtrx

DS_Starter

#138
Zitat:) funktioniert.
Also funktioniert es erstmal grundsätzlich.  :)
Frage ist jetzt wieso nicht direkt aus SSCam heraus.

Im Cam Device mal verbose 4 setzen und nach dem snap den Logauszug posten der so aussieht wie unten.


2020.11.29 16:59:39.500 4: SSCam.Terrasse - ####################################################
2020.11.29 16:59:39.500 4: SSCam.Terrasse - ###      start send Snap or Video by SSChatBot     
2020.11.29 16:59:39.501 4: SSCam.Terrasse - ####################################################
2020.11.29 16:59:39.501 4: SSCam.Terrasse - param chatbot is set to "SynChatBot"
2020.11.29 16:59:39.502 4: SSCam.Terrasse - param videofolderMap is set to "http://sds1.myds.me:8081/surveillance"
2020.11.29 16:59:39.502 4: SSCam.Terrasse - param tac is set to "1334"
2020.11.29 16:59:39.502 4: SSCam.Terrasse - param peers is set to ""
2020.11.29 16:59:39.503 4: SSCam.Terrasse - param sdat is set
2020.11.29 16:59:39.503 4: SSCam.Terrasse - param subject is set to "Bewegungsalarm bei Terrasse. Es wurde $CTIME der Schnappschuss $FILE erstellt"
2020.11.29 16:59:39.504 4: SSCam.Terrasse - param opmode is set to "getsnapgallery"
2020.11.29 16:59:39.504 4: SSCam.Terrasse - Cache "redis" is already initialized
2020.11.29 16:59:39.506 4: SSCam.Terrasse - Cache "redis" is already initialized
2020.11.29 16:59:39.510 3: SSCam.Terrasse - Chat message [0] of transaction "1334" for "Heiko" added to "SynChatBot" sendqueue
2020.11.29 16:59:39.529 4: SSCam.Terrasse - SMTP-Credentials read from RAM: ++++++
2020.11.29 16:59:39.544 4: SSCam.Terrasse - Cache "redis" is already initialized
2020.11.29 16:59:39.558 4: SSCam.Terrasse - Image data sequence [0] decoded from CHI-Cache for Email attachment
2020.11.29 16:59:39.592 3: SSCam.Terrasse - SMTP-Host 192.168.2.10 switched to encrypted connection with SSL version: TLSv1_2
2020.11.29 16:59:40.517 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{1334}{0}{createdTm}" removed
2020.11.29 16:59:40.519 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{1334}{0}{snapid}" removed
2020.11.29 16:59:40.522 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{1334}{0}{imageData}" removed
2020.11.29 16:59:40.524 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{1334}{0}{fileName}" removed
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Besser ist es auch noch das Chat device auf verbose 5 zu setzen und dann einen Snap auslösen.
Dann sieht man es schön komplett:


2020.11.29 17:13:06.983 4: SSCam.Terrasse - ####################################################
2020.11.29 17:13:06.983 4: SSCam.Terrasse - ###      start send Snap or Video by SSChatBot     
2020.11.29 17:13:06.984 4: SSCam.Terrasse - ####################################################
2020.11.29 17:13:06.984 4: SSCam.Terrasse - param videofolderMap is set to "http://sds1.myds.me:8081/surveillance"
2020.11.29 17:13:06.985 4: SSCam.Terrasse - param chatbot is set to "SynChatBot"
2020.11.29 17:13:06.985 4: SSCam.Terrasse - param tac is set to "2751"
2020.11.29 17:13:06.985 4: SSCam.Terrasse - param peers is set to ""
2020.11.29 17:13:06.986 4: SSCam.Terrasse - param opmode is set to "getsnapgallery"
2020.11.29 17:13:06.986 4: SSCam.Terrasse - param subject is set to "Bewegungsalarm bei Terrasse. Es wurde $CTIME der Schnappschuss $FILE erstellt"
2020.11.29 17:13:06.986 4: SSCam.Terrasse - param sdat is set
2020.11.29 17:13:06.987 4: SSCam.Terrasse - Cache "redis" is already initialized
2020.11.29 17:13:06.989 4: SSCam.Terrasse - Cache "redis" is already initialized
2020.11.29 17:13:06.993 5: SynChatBot - Add Item to queue - Index 10:
{
  'attachment' => '',
  'method' => 'chatbot',
  'text' => 'Bewegungsalarm bei Terrasse. Es wurde 29.11.2020 / 17:13:06 der Schnappschuss Terrasse-20201129-1713061395.jpg erstellt',
  'opmode' => 'sendItem',
  'fileUrl' => 'http://sds1.myds.me:8081/surveillance/@Snapshot/Terrasse-20201129-1713061395.jpg',
  'userid' => 4,
  'channel' => '',
  'retryCount' => 0
}

2020.11.29 17:13:06.993 3: SSCam.Terrasse - Chat message [0] of transaction "2751" for "Heiko" added to "SynChatBot" sendqueue
2020.11.29 17:13:06.994 4: SynChatBot - ####################################################
2020.11.29 17:13:06.994 4: SynChatBot - ###         start Chat operation sendItem   
2020.11.29 17:13:06.995 4: SynChatBot - ####################################################
2020.11.29 17:13:06.995 4: SynChatBot - API hashvalues already set - ignore get apisites
2020.11.29 17:13:06.996 4: SynChatBot - botToken read from RAM: ********
2020.11.29 17:13:06.996 4: SynChatBot - start SendQueue entry index "10" (sendItem) for operation.
2020.11.29 17:13:06.996 5: SynChatBot - HTTP-Call will be done with httptimeout: 10 s
2020.11.29 17:13:06.997 4: SynChatBot - Call-Out: https://192.168.2.10:5001/webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token="<secret>"&payload={"text": "Bewegungsalarm bei Terrasse. Es wurde 29.11.2020 / 17:13:06 der Schnappschuss Terrasse-20201129-1713061395.jpg erstellt","file_url": "http://sds1.myds.me:8081/surveillance/@Snapshot/Terrasse-20201129-1713061395.jpg","user_ids": [4]}
2020.11.29 17:13:07.014 4: SSCam.Terrasse - SMTP-Credentials read from RAM: +++++
2020.11.29 17:13:07.030 4: SSCam.Terrasse - Cache "redis" is already initialized
2020.11.29 17:13:07.389 4: SSCam.Terrasse - Image data sequence [0] decoded from CHI-Cache for Email attachment
2020.11.29 17:13:08.002 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{2751}{0}{snapid}" removed
2020.11.29 17:13:08.004 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{2751}{0}{createdTm}" removed
2020.11.29 17:13:08.006 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{2751}{0}{fileName}" removed
2020.11.29 17:13:08.008 4: SSCam.Terrasse - Cache key "{SENDSNAPS}{2751}{0}{imageData}" removed
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mobiljoe123


Auszug log
2020.11.29 17:25:26 4: SSCam.Home - ####################################################
2020.11.29 17:25:26 4: SSCam.Home - ###      start send Snap or Video by SSChatBot     
2020.11.29 17:25:26 4: SSCam.Home - ####################################################
2020.11.29 17:25:26 4: SSCam.Home - param peers is set to ""
2020.11.29 17:25:26 4: SSCam.Home - param subject is set to "Bewegungsalarm bei Home. Es wurde $CTIME der Schnappschuss $FILE erstellt"
2020.11.29 17:25:26 4: SSCam.Home - param chatbot is set to "SynChatBot"
2020.11.29 17:25:26 4: SSCam.Home - param tac is set to "240"
2020.11.29 17:25:26 4: SSCam.Home - param opmode is set to "getsnapgallery"
2020.11.29 17:25:26 4: SSCam.Home - param sdat is set
2020.11.29 17:25:26 4: SSCam.Home - param videofolderMap is set to "http://192.168.123.62:8081/surveillance"
2020.11.29 17:25:26 4: SSCam.Home - internal Cache mechanism is used
2020.11.29 17:25:26 4: SSCam.Home - internal Cache mechanism is used
2020.11.29 17:25:26 5: SynChatBot - Add Item to queue - Index 35:
$VAR1 = {
          'attachment' => '',
          'fileUrl' => 'http://192.168.123.62:8081/surveillance/@Snapshot/',
          'userid' => 6,
          'channel' => '',
          'opmode' => 'sendItem',
          'retryCount' => 0,
          'text' => 'Bewegungsalarm bei%20Home. Es wurde der Schnappschuss erstellt',
          'method' => 'chatbot'
        };

2020.11.29 17:25:26 3: SSCam.Home - Chat message [0] of transaction "240" for "admin" added to "SynChatBot" sendqueue
2020.11.29 17:25:26 4: SynChatBot - ####################################################
2020.11.29 17:25:26 4: SynChatBot - ###         start Chat operation sendItem   
2020.11.29 17:25:26 4: SynChatBot - ####################################################
2020.11.29 17:25:26 4: SynChatBot - API hashvalues already set - ignore get apisites
2020.11.29 17:25:26 4: SynChatBot - botToken read from RAM: ********
2020.11.29 17:25:26 4: SynChatBot - start SendQueue entry index "35" (sendItem) for operation.
2020.11.29 17:25:26 5: SynChatBot - HTTP-Call will be done with httptimeout: 20 s
2020.11.29 17:25:26 4: SynChatBot - Call-Out: http://192.168.123.62:5000/webapi/entry.cgi?api=SYNO.Chat.External&version=2&method=chatbot&token="<secret>"&payload={"text": "Bewegungsalarm bei%20Home. Es wurde der Schnappschuss erstellt","file_url": "http://192.168.123.62:8081/surveillance/@Snapshot/","user_ids": [6]}
2020.11.29 17:25:26 5: SynChatBot - JSON returned: $VAR1 = {
          'success' => bless( do{\(my $o = 0)}, 'JSON::XS::Boolean' ),
          'error' => {
                       'code' => 117
                     }
        };

2020.11.29 17:25:26 2: SynChatBot - ERROR - Operation sendItem was not successful. Errorcode: 117 - illegal file name or path
2020.11.29 17:25:26 2: SynChatBot - ERROR - "sendItem" SendQueue index "35" not executed. It seems to be a permanent error. Exclude it from new send attempt !
2020.11.29 17:25:26 4: SynChatBot - ####################################################
2020.11.29 17:25:26 4: SynChatBot - ###         start Chat operation     
2020.11.29 17:25:26 4: SynChatBot - ####################################################
2020.11.29 17:25:26 4: SynChatBot - Only entries with "forbidSend" are in Sendqueue. Escaping ...
Raspi 2; HM; MAX!; RFXtrx

DS_Starter

Jetzt kennen wir den Grund. Der Filename wird bei dir nicht übergeben.


$VAR1 = {
          'attachment' => '',
          'fileUrl' => 'http://192.168.123.62:8081/surveillance/@Snapshot/',


Fehlt nur noch die Ursache.
Bei Telegram funktionierts wie du sagst ?
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mobiljoe123

#142
ja, da funktoniert es.

das steht bei telegram im log (falls das hilft)
2020.11.29 17:25:26 4: SSCam.Home - ####################################################
2020.11.29 17:25:26 4: SSCam.Home - ###     start send Snap or Video by TelegramBot     
2020.11.29 17:25:26 4: SSCam.Home - ####################################################
2020.11.29 17:25:26 4: SSCam.Home - param telebot is set to "FHEMstatus"
2020.11.29 17:25:26 4: SSCam.Home - param MediaStream is set to "-1"
2020.11.29 17:25:26 4: SSCam.Home - param peers is set to ""
2020.11.29 17:25:26 4: SSCam.Home - param part1txt is set to ""
2020.11.29 17:25:26 4: SSCam.Home - param subject is set to "Bewegungsalarm bei Home. Es wurde $CTIME ein Schnappschuss erstellt"
2020.11.29 17:25:26 4: SSCam.Home - param fname is set to ""
2020.11.29 17:25:26 4: SSCam.Home - param tac is set to "240"
2020.11.29 17:25:26 4: SSCam.Home - param opmode is set to "getsnapgallery"
2020.11.29 17:25:26 4: SSCam.Home - param image is set to ""
2020.11.29 17:25:26 4: SSCam.Home - param sdat is set
2020.11.29 17:25:26 4: SSCam.Home - param part1type is set to "text/plain; charset=UTF-8"
2020.11.29 17:25:26 4: SSCam.Home - param lsnaptime is set to ""
2020.11.29 17:25:26 4: SSCam.Home - param part2type is set to "image/jpeg"
2020.11.29 17:25:26 4: SSCam.Home - internal Cache mechanism is used
2020.11.29 17:25:26 4: SSCam.Home - internal Cache mechanism is used
2020.11.29 17:25:26 4: SSCam.Home - Image data sequence [0] decoded from internal Cache for TelegramBot prepare
2020.11.29 17:25:26 4: SSCam.Home - __TBotSendIt: Filename for image file :<stream:66049>:
2020.11.29 17:25:26 4: SSCam.Home - __TBotSendIt: timeout for sent :30:
2020.11.29 17:25:26 3: SSCam.Home - Telegram message [0] of transaction "240" sent to "JXXX_RXXX" by "FHEMstatus"
Raspi 2; HM; MAX!; RFXtrx

DS_Starter

#143
Jetzt konnte ich das Problem nachstellen. Es ist ein Problem in SSCam der nur zu Tage tritt wenn das Attribut cacheType nicht gesetzt ist.
Setze dir bitte mal das Attribut (in SSCam.Home)

cacheType = file

Und teste wieder den snap.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mobiljoe123


... ich glaub, das dauert jetzt etwas.

beim setzen des Attributes kommt:
"Perl cache module CHI is missing. You need to install it with the FHEM Installer for example."

Da muss ich mich erst mal mit beschäftigen. Das hatte ich schon mal geladen. Dies hat aber nie funktioniert, da "1   E404   Not Found - cpanm is not installed". Das habe ich aber als "Anwender" nicht verstanden.

Da ein
set FHEM Installer Status installPerl App::cpanminus
leider nicht funktioniert.
state error 'installPerl App::cpanminus'

.. hab ich es dann einfach gelassen.
Raspi 2; HM; MAX!; RFXtrx

DS_Starter

Kein Problem, ich habe inzwischen herausbekommen dass du einfach nur das Attribut snapTelegramTxt löschen musst.
Das ist ein Fehler in SSCam dass sich die Versandattribute gegenseitig beeinflussen.

Haus mal raus und dann wieder snap.  ;)
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mobiljoe123


:) :) :)
Es funktioniert. Spitze.
Da hab ich jetzt alles von telegram zu SSChat gebracht. DANKE.
Raspi 2; HM; MAX!; RFXtrx

DS_Starter

 :D

Ich muß jetzt das Problem im SSCam fixen. Darf nicht sein dass sich diese Attribute gegenseitig beeinflussen. Kommt sicherlich nicht so häufig vor, aber trotzdem ...

Wegen dem Installer bzw. cpanminus.....
Ich habe in meinem Wiki mal nachgeschaut. Sollte so installierbar sein:


curl -L https://cpanmin.us | perl - --sudo App::cpanminus


Den FHEM Installer nehme ich nur noch um irgendwelche Perl Module nachzuinstallieren oder zu updaten. Außerdem kann man das System prüfen ob alle nötigen Perl Module installiert sind usw.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mobiljoe123

Raspi 2; HM; MAX!; RFXtrx

DS_Starter

#149
Ist zwar ein bisschen OT, aber weil es aktuell um ein Bugfix in SSCam ging die kurze Info dass ich den Fehler beseitigen konnte. Neue Version von SSCam ist morgen früh im Update enthalten welches das oben erlebte Problem beseitigt.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter