Einfacher FTP Upload - von CCU auf externen FTP Server

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

chris188
Beiträge: 10
Registriert: 19.11.2017, 16:31
Hat sich bedankt: 2 Mal

Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von chris188 » 27.11.2017, 15:47

Hallo,

Ich suche eine einfache Möglichkeit mit dem Regensensor bei Status "ein" eine Datei auf einen externen Webserver zu laden und wenn der Regensensor keinen Regen mehr auswertet, ein anderes Bild hochzuladen.
Das war es auch schon wieder.

Ich hab jetzt keinen FTP Client gefunden, der aus der CCU was uploaden kann oder finde ich so eine Möglichkeit einfach nicht.

Hat jemand Hilfe für mich?

Schon mal Danke und LG
Christian

Sven_A
Beiträge: 4158
Registriert: 26.01.2016, 08:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Renningen
Hat sich bedankt: 351 Mal
Danksagung erhalten: 285 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von Sven_A » 27.11.2017, 15:51

Muss die Datei von der CCU wirklich hochgeladen werden, oder reicht es wenn die CCU ein auf dem Server vorhandenes Bild an die richtige Stelle kopiert? Hast du SSH Zugang zu dem Server? Falls beides ja würde ich einen SSH Schlüsselaustausch vornehmen und per system.exec oder CuXD-Exec einen passenden Komandozeilenbefehl absetzen lassen..

==== Nachtrag ====
Wenn SSH vorhanden kannst du auch per scp von der CCU auf den Server kopieren, war mir gerade nicht sicher ob das auf der CCU vorhanden ist, meine eigene Doku zu einem ähnlichen Thema behauptet aber ja :mrgreen:
Im Grunde also ähnlich wie hier: viewtopic.php?f=26&t=34227#p324814
SSH Keys erzeugen und austauschen, und den system.exec Aufruf entsprechend anpassen.

chris188
Beiträge: 10
Registriert: 19.11.2017, 16:31
Hat sich bedankt: 2 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von chris188 » 27.11.2017, 16:17

Ja es reicht auch die Datei einfach umzukopieren, denn ich kann es schon so einrichten, dass beide Dateien schon am Server liegen und einfach nur an eine bestimmte Stelle kopiert werden sollen.
Gut das wäre für mich einfach - jetzt muss ich halt das Neuland der Programmierung entdecken, denn da bin ich echt nicht gut drauf.
Trotzdem - Danke schon mal für den Ansatz!!! :)

LG
Christian

chris188
Beiträge: 10
Registriert: 19.11.2017, 16:31
Hat sich bedankt: 2 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von chris188 » 27.11.2017, 16:19

Achja Nachtrag:
SSH müsste gehen - ich hab Allinkl als Provider und die unterstützen SSH Zugänge.
LG
Christian

mike08
Beiträge: 283
Registriert: 13.09.2015, 11:18
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von mike08 » 27.11.2017, 19:45

Hallo!

Ich würde es mit der CUxD und diesem lösen

6.8 export_ftp.sh Dieses Shell-Script nutzt Curl um Dateien aus einem Spool-Verzeichnis per FTP zu einem externen Host zu verschieben. Während der Übertragung wird die Datei im FTP-Zielverzeichnis als <file>.part angelegt und nach erfolgreicher Übertragung dann in <file> umbenannt und aus dem Spool-Verzeichnis gelöscht. Aufruf: /usr/local/addons/cuxd/extra/export_ftp.sh user:pass <ip> <ftp-dir> <spool-dir> Im Zusammenhang mit dem DEVLOGEXPORT= Parameter können die Device-Logfiles auf diese Weise ganz einfach von der CCU auf einen externen Server übertragen werden.
Fritzbox 7590 mit 7.x (immer aktuell)
Raspberry Pi3b mit RM: Aktuell
CCU2: Abgeschaltet
Zusatzsoftware: CUx-Daemon, E-Mail CCU Addon, hm_pdetect, hm-Print
Skripte: Servicemeldung 1.x http://homematic-forum.de/forum/viewtop ... 18#p211604
ioBroker auf Synology DS916+II imTest;
Wandtermostat, Tür-/Fensterkontakt, Ausenthermostat, 1 Kanal Taster, 2 Kanal Taster, Hutch-4fach Aktor, 1fach UP-Aktor, 2fach UP-Aktor, E-Paper-Display; CUL868(v3), USB2.0-Ser! [FF]

chris188
Beiträge: 10
Registriert: 19.11.2017, 16:31
Hat sich bedankt: 2 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von chris188 » 15.08.2019, 18:51

Also mein Beitrag ist ja schon einige Zeit her - und ich habs immer noch nicht geschafft. :(

Eine weitere Frage.
Ich betreib ja auch ein paar Raspberries und da lade ich mit *.sh Daten per FTP hoch.

Mittels SSH hab ich einen Zugang zur Dateiebene der CCU2. Vom Rechner zur CCU2 - das läuft... :)
Ich will aber Daten von der CCU2 auf einen FTP Server kopieren.
Wenn ich jetzt ein Verzeichnis auf der CCU2 anlege und da meine Scripte + Dateien reinlege - also z.B. mit Inhalt in dieser Form:

Mal angenommen- im Home Verzeichnis liegt meine test.jpg

#!/bin/bash
cd /home
ftp -in "FTP-SERVER" << EOF
user USERNAME PASSWORD
binary
cd test
put test.jpg
quit
EOF
exit 0

Wie kann ich dieses Script in der GUI der CCU2 aufrufen und ausführen?
Geht das überhaupt?

LG
Christian

chris188
Beiträge: 10
Registriert: 19.11.2017, 16:31
Hat sich bedankt: 2 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von chris188 » 15.08.2019, 19:20

system.Exec("/usr/local/etc/chris/regen.sh");

Ich hab versucht, mein Script so aufzurufen.
Klappt leider nicht.
Ich denke mal - das FTP Programm ist auf der CCU2 wahrscheinlich nicht installiert oder?

Sven_A
Beiträge: 4158
Registriert: 26.01.2016, 08:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Renningen
Hat sich bedankt: 351 Mal
Danksagung erhalten: 285 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von Sven_A » 16.08.2019, 07:58

Nein, FTP ist nicht drauf.
SSH ist zumindest auf der Raspberrymatic drauf, also geht scp statt ftp.
--> http://www.hypexr.org/linux_scp_help.php

chris188
Beiträge: 10
Registriert: 19.11.2017, 16:31
Hat sich bedankt: 2 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von chris188 » 16.08.2019, 08:28

Danke Sven!

Es scheitert offensichtlich bei mir am Problem, dass ich nicht weiß, wie ich die Befehlszeile in der CCU2 integriere.

Diese Variante müsste eigentlich auch gehen.
Aber wie ruf ich die nun in der CCU2 richtig auf?
Oder wie bau ich die entsprechend ein?

curl -T /tmp/chris/chris.txt -u USER:PASSWORD ftp://FTPSERVER

Sven_A
Beiträge: 4158
Registriert: 26.01.2016, 08:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Renningen
Hat sich bedankt: 351 Mal
Danksagung erhalten: 285 Mal

Re: Einfacher FTP Upload - von CCU auf externen FTP Server

Beitrag von Sven_A » 16.08.2019, 09:03

Gerade mal geschaut. Ich hatte mal mit dem Download eines Bildes von einer Webcam gespielt, damals ging:

Code: Alles auswählen

! Pushover über system.exec und wget by alchy -> geht doch gut, aber ohne Umlaute in Nachricht
string stdout;
string stderr;
string message = "Es hat an der Tuer geklingelt";
system.Exec("curl http://10.10.20.45/html/cam_pic.php -o /usr/local/image.jpg" , &stdout, &stderr);
system.Exec("curl -s --form-string 'token=1234567890abcdef' --form-string 'user=abcdef12345' --form-string 'message=Test' -F 'attachment=@/usr/local/image.jpg' https://api.pushover.net/1/messages.json" , &stdout, &stderr);

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“