NEWS
[gelöst] Dateiupload
-
Hi
ich möchte folgendes umsetzen:- Datei als CSV vom Mac mit Schnellaktion und scp an Iobroker senden (Benutzerdaten/CSV/)
- Dort Trigger entweder mit onfile oder über Triggerdatenpunkt via ssh auslösen
- Datei in ein JSON mit einem script umwandeln
Das müsste doch so funktionieren ... tut es aber nicht. Trigger wird ausgelöst, Datei aber nicht geändert
#!/bin/bash for f in "$@" do /usr/bin/scp "$f" pi@192.xxxx:/opt/iobroker/iobroker-data/files/0_userdata.0/CSV/AktuellePatienten.csv /usr/bin/ssh pi@192.xxxx " sleep 2; iobroker state set 0_meine_Daten.0.sevenio.Datei_Hochgeladen_Trigger true; " doneauch damit bin ich nicht weitergekommen:
#!/bin/bash for f in "$@" do /usr/bin/scp "$f" pi@192.xxxx:/tmp/AktuellePatienten.csv /usr/bin/ssh pi@192.xxxx " iobroker file write 0_userdata.0/CSV/AktuellePatienten.csv /tmp/AktuellePatienten.csv; sleep 2; iobroker state set 0_meine_Daten.0.sevenio.Datei_Hochgeladen_Trigger true; " doneAdmin v 7.6.3
Hat jemand eine Idee? -
Hi
ich möchte folgendes umsetzen:- Datei als CSV vom Mac mit Schnellaktion und scp an Iobroker senden (Benutzerdaten/CSV/)
- Dort Trigger entweder mit onfile oder über Triggerdatenpunkt via ssh auslösen
- Datei in ein JSON mit einem script umwandeln
Das müsste doch so funktionieren ... tut es aber nicht. Trigger wird ausgelöst, Datei aber nicht geändert
#!/bin/bash for f in "$@" do /usr/bin/scp "$f" pi@192.xxxx:/opt/iobroker/iobroker-data/files/0_userdata.0/CSV/AktuellePatienten.csv /usr/bin/ssh pi@192.xxxx " sleep 2; iobroker state set 0_meine_Daten.0.sevenio.Datei_Hochgeladen_Trigger true; " doneauch damit bin ich nicht weitergekommen:
#!/bin/bash for f in "$@" do /usr/bin/scp "$f" pi@192.xxxx:/tmp/AktuellePatienten.csv /usr/bin/ssh pi@192.xxxx " iobroker file write 0_userdata.0/CSV/AktuellePatienten.csv /tmp/AktuellePatienten.csv; sleep 2; iobroker state set 0_meine_Daten.0.sevenio.Datei_Hochgeladen_Trigger true; " doneAdmin v 7.6.3
Hat jemand eine Idee?@peterk34 Habe keine Ahnung. ChatGPT sagt dazu:
#!/bin/bash for f in "$@" do echo "Sende Datei $f..." /usr/bin/scp "$f" pi@192.xxx.xxx.xxx:/tmp/AktuellePatienten.csv echo "Schreibe Datei in ioBroker Dateisystem..." /usr/bin/ssh pi@192.xxx.xxx.xxx " iobroker file del 0_userdata.0/CSV/AktuellePatienten.csv; # WICHTIG: alte Datei löschen iobroker file write 0_userdata.0/CSV/AktuellePatienten.csv /tmp/AktuellePatienten.csv; sleep 2; iobroker state set 0_meine_Daten.0.sevenio.Datei_Hochgeladen_Trigger true; " done -
@peterk34 sagte in Dateiupload:
Hat jemand eine Idee?
Nicht direkt in das Verzeichnis schreiben, sondern mit
iobroker file write. Dann werden auch die Events ausgelöst und die Meta-Datenbank aktuell gehalten. -
@peterk34 sagte in Dateiupload:
Hat jemand eine Idee?
Nicht direkt in das Verzeichnis schreiben, sondern mit
iobroker file write. Dann werden auch die Events ausgelöst und die Meta-Datenbank aktuell gehalten.Danke Mathias, genau das wars ...
#!/bin/bash for DateiPfad in "$@" do DateiName=$(basename "$DateiPfad") if [ "$DateiName" = "AktuellePatienten.csv" ]; then /usr/bin/scp "$DateiPfad" pi@192.xxxx:/tmp/AktuellePatienten.csv /usr/bin/ssh pi@192.xxxx " iobroker file write /tmp/AktuellePatienten.csv 0_userdata.0/CSV/AktuellePatienten.csv && rm -f /tmp/AktuellePatienten.csv " rm -f "$DateiPfad" fi donegenauso flutscht es
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden