50_SSChatBot - Integration des Synology Chat Servers

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

Vorheriges Thema - Nächstes Thema

DS_Starter

Ich bin dabei ein neues Modul zur Integration des Synology Chat Servers zu erstellen.

Ziel ist es, ähnlich wie bei Telegram, Nachrichten zwischen FHEM und Synology Chat auszutauschen.

Vorteil dieser Lösung ist, dass man als Synology Besitzer auf keine public Cloud mehr angewiesen ist, sondern FHEM diesbezüglich wieder in seiner privaten Cloudumgebung integriert, so wie es bei dem SSCam-Kameramodul auch der Fall ist.
Dadurch bleiben die Daten "zu Hause". Mit der von Synology verfügbaren App für mobile Devices lässt sich die Kommunikation mit dem Server von unterwegs aufrecht erhalten.

Der aktuelle Entwicklungsstand kann einfach per Download mit diesem Befehl in der FHEM Kommandozeile bezogen werden. Bitte so komplett mit den Ausführungszeichen am Anfang und Ende eingeben:

"wget -qO ./FHEM/50_SSChatBot.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/50_SSChatBot.pm"

Danach FHEM restarten. 

Die Dokumentation findet man zur Zeit erstmal nur im Wiki. Wenn der initiale Releasestand zum Einchecken erreicht ist, erstelle ich eine entsprechende Commandref.

Wiki: https://wiki.fhem.de/wiki/SSChatBot_-_Integration_des_Synology_Chat_Servers

Ich hoffe, dass dieses Modul weitere Anhänger findet. Ideengeber und Unterstützer bei der Weiterentwicklung sind immer willkommen.

LG,
Heiko   
ESXi@NUC+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

#1
Das Modul ist bereits fortgeschritten. Es können Nachrichten in beiden Richtungen zwischen FHEM und Synology Chat ausgetauscht werden.
Außerdem ist es möglich, set- und get-Befehle auszuführen oder Perl-Code bzw. Subroutinen in FHEM auszuführen. In allen Fällen wird das Ausführungsergebnis zurück gesendet, sofern die ausgeführte Funktion es liefert.

Genaueres ist im Wiki beschrieben.
Über Testergebnisse weiterer (Synology)User würde ich mich freuen.

Grüße,
Heiko
ESXi@NUC+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

Das Modul und das Wiki sind nun auch noch um die Definition User spezifischer Slash-Befehle (z.B. /Termine ...) ergänzt worden.
ESXi@NUC+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

Wiesenfreund

Hallo,
vielen Dank für das Modul. Bei mir funktioniert die Kommunikation zwischen der Diskstation und fhem einwandfrei. Weiter bin ich allerdings noch nicht gekommen.

Ich freue mich jedenfalls, dass es dieses Modul gibt. Damit kann man ggf. die gesamte Kommunikation, die ich bisher auf einem anderen Bot laufen hatte, auf meinem eigenen sicheren Server abwickeln.

Danke auch für die sehr gute Beschreibung der Installation und Einrichtung, sie hat mir sehr geholfen.

Gruß
Eberhard
Raspberry 4 mit fhem, Raspberry 3 mit fhem (FS20-, MAX-Schnittstellen), RaspiMatic Raspberry 3B, HM und HMW-Geräte (Heizung, Wetterstation, Fensterkontakte), Shellys (Rollladen, MQTT), ESPEasy (Energiezähler, MQTT), MAX-Taster (CUL),  FS20 Taster  (CUL), Synology NAS (Mosquitto,Chat

DS_Starter

Hallo Eberhard,

ich freue mich, dass dieses Modul dir nützlich ist.
Die Ablösung von public Cloudkomponenten war auch für mich der Antreiber zur Synology Chat Integration.
Wenn dir etwas auffallen sollte, zögere nicht es hier schreiben.

Grüße,
Heiko
ESXi@NUC+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

rohlande

Hallo Heiko,

Super geiles Modul. Vielen Vielen Vielen Dank dafür! Habe ich schon sehnlichst drauf gewartet.
Wenn ich in irgendeiner Art und Weise helfen kann, dann lasse es mich wissen.
Bin zwar kein Software Entwickler aber gern bereit dazu zu lernen.
Eine Frage habe ich: Ich verwende seither Telegram inkl. "interaktiver" Kommunikation.
Laut Synology soll so etwas auch mit dem Chatbot in einer stark vereinfachten "Button" Interaktion möglich sein.
https://www.synology.com/de-de/knowledgebase/DSM/help/Chat/chat_integration
siehe Payload!
Kannst Du das irgendwann auch noch integrieren?

VG denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

DS_Starter

Hallo Denny,

freue mich wenn es noch ein paar User gibt.  :)
Der Vorteil ist eben die Konzentration auf die private Cloud. Ich hoffe auch sehr, dass Synology die Möglichkeiten dieser Anwendung noch erweitert.
Du meinst bestimmt den dargestellten payload mit dem Smiley  :)
Ja, kann ich gerne mal demnächst tun. Wenn noch weitere User das Modul einsetzen, nehme ich es auch gerne in das offizielle Repository auf.

Grüße,
Heiko
ESXi@NUC+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

rohlande

Hallo Heiko,

Das wäre echt super wenn die [Payload] Kommando Struktur für die JSON Formatierung möglich wäre.
Der Hintergrund: Bisher verwende ich wie erwähnt Telegram für die Interaktion. Das mach ich nur sehr ungern.
Meine Daten behalte ich gern bei mir. :-) und Dein Ansatz bringt mich fast auf 100% in Kommunikation mit Fhem und dem Thema Homeautomation.
Und nun versuche ich das auf dem Chat umzuziehen.
Meinen Arbeitskollege habe ich auch schon überzeugt. :-)
Er liest sich gerade in Dein Kalender Modul ein.
Das ist auch absolut super!.

Vg Denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

DS_Starter

Na bei soviel Lob und Enthusiasmus kann ich dich/euch ja garnicht so lange warten lassen.  :D Vielen Dank dafür, freut mich !
Ich nehme die Erweiterung mal auf meine short ToDo Liste. Melde mich wenn ich was zum Testen entwickelt habe.
ESXi@NUC+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

#9
Hallo zusammen,

es steht die Version 1.3.0 zum Test bereit.

Neu ist:

* der set Befehl sendItem ist in 1_sendItem umbenannt jetzt asyncSendItem umbenannt
  Grund: es ist mir schon oft passiert dass ich ungewollt den botToken zerschossen habe weil der Eintrag ganz oben auf der
  Liste steht/stand. Jetzt ist es immer 1_sendItem asyncSendItem.

* es können interaktive Schaltflächen versendet und die Antwort des Users ausgewertet werden.

Beschreibung ist im Wiki unter https://wiki.fhem.de/wiki/SSChatBot_-_Integration_des_Synology_Chat_Servers#verschiedene_Arten_Nachrichten_an_Chatempf.C3.A4nger_senden

bzw.
https://wiki.fhem.de/wiki/SSChatBot_-_Integration_des_Synology_Chat_Servers#Interaktionen_mit_Schaltfl.C3.A4chen

zu finden.

Der Download ist auch im Wikiartikel gleich zu beginn beschrieben.

Viel Spaß beim Testen  :)

Grüße,
Heiko
ESXi@NUC+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

Ich habe noch das Reading recActionsValue eingeführt.
Es enthält die Extraktion des Wertes von value aus Reading recActions. D.h. dieses Reading enthält direkt den Antwortwert wenn der Chatuser einen zugesendeten Button drückt.
Dadurch kann man einfacher auf Tastendrücke reagieren und davon Steuervorgänge ableiten.

Grüße,
Heiko
ESXi@NUC+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

#11
Hallo miteinander,

ich weiß nicht warum, aber mich hat der Eintrag 1_sendItem rein ästhetisch derart gestört, dass ich über Alternativen nachgedacht habe.

Nun habe ich 1_sendItem nach asyncSendItem umbenannt. Damit bin ich nun sehr zufrieden, zumal der Name auch die interne Verfahrensweise zum Versand abbildet und immernoch auf Platz eins der set-Liste steht.  :)

Sorry für die Umstände, aber so ist das manchmal mit der Entwicklung ...

Das Wiki passe ich auch noch an. -> erledigt.

LG,
Heiko
ESXi@NUC+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

rohlande

Hallo Heiko,
Super Klasse Erweiterung.
Habe etwas gespielt.
1. Frage oder Anmerkung habe ich: Besteht die Möglichkeit, das "value" auch direkt mit einem Inhalt für "recCommand" zu füllen?
Damit wäre es dann möglich ein Slash Command direkt in Fhem auszulösen ohne noch über den Inhalt z.b eines Notify oder DOIF zu gehen!
Ich hoffe ich verstehe das nicht falsch!

Vg Denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

DS_Starter

Hallo Denny,

ich denke sowas könnte ich vorsehen. Ich schaue es mir an, weiß momentan noch nicht ob man dort "/" unterbringen kann oder ob die API dann streikt.

Melde mich ...
ESXi@NUC+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

rohlande

#14
Hallo Heiko,

Habe gerade mal ein DOIF gebastelt. Das scheint zu funktionieren.
Das mit dem Own Command muss ich noch verstehen und testen!

VG denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger