NEWS
[gelöst] Datenpunkt über SSH Verbindung beschreiben
-
Liebe Community,
Gibt es die Möglichkeit einen Datenpunkt über eine offene SSH Verbindung via Skript zu beschreiben?Leider gibt es auf iOS in den Kurzbefehlen keine Möglichkeit API set Befehle zu senden.
Allerdings lässt sich ein Skript über SSH ausführen, damit kenne ich mich aber zu wenig aus.Ziel:
Aus allen in der Kalender App angezeigten Kalendern die heutigen Ereignisse einzulesen und als Textelement an einen Datenpunkt schicken.EDIT:
Sowohl für die SSH Verbindung als auch für ein schreiben via API wurde eine Lösung gefunden.
API lässt sich über Simple API und Block "Inhalte URL von abrufen"
SSH Verbindung funktioniert über Block "Skript über SSH ausführen"Herzlichen Dank!
-
@bloop Was für eine Kalender-App meinst Du?
Wenn diese ical spricht, würde ich auf den ical-Adapter verweisen ...
-
@martinp Kalender App von iOS
Das Problem ist, dass ich einige mir geteilte Kalender habe, welche mir lediglich per Mail freigegeben worden sind.
Somit habe ich keinen Zugriff auf die URL der mir freigegeben Kalender. Diese möchte ich aber ebenfalls integriert haben. -
@bloop Da ist ja wahrscheinlich das erste Problem, die Kalenderdaten aus der Apple-Kalender App zu exportieren ... geht das z. B. im iCal-Format?
-
@martinp Nein, lediglich eine URL für die von mir freigegebenen öffentlichen Kalender.
-
wenn du über ssh iobroker befehle ausführen kannst, dann dieser befehl
Commands: iobroker state get <id> Get state, specified by id iobroker state getPlain <id> Get plain state, specified by id iobroker state getBinary <id> Get binary state, specified by id iobroker state getValue <id> Get state value, specified by id iobroker state set <id> <value> [<ack>] Set state, specified by id iobroker state del <id> Delete state, specified by id iobroker state setDBVersion <version> Sets the protocol version of the states database iobroker state getDBVersion Get the protocol version of the states database
die sind in der hilfe etwas versteckt, da man dazu iobroker state eingeben muss um die details zu erhalten
-
@oliverio Perfekt!
Werd ich gleich ausprobieren! -
was die urfrage angeht, warum kannst du keine set befehle senden?
alle Befehele des simple api adapters sind HTTP-GET Befehle (alternative wäre POST, was aber nicht notwendig ist).
Das Kommando für den adapter ist in der Url kodiert (also get/set/query), davon weiß apple auch nix, das musst du eintippen.
daher senden kannst du schon. nur erwartet der kurzbefehl wahrscheinlich eine rückantwort, die er anzeigen kann bzw. ist halt eine JSON-Antwort.https://medium.com/@richardmoult75/how-to-use-an-api-with-apple-shortcuts-ce116e37fcfd
und ich hoffe du verwendest eine vpn verbindung
-
@oliverio Das Gerät über welches die Automation dann laufen sollte, ist immer nur im Lokalen Netzwerk. Von Extern immer nur über VPN.
Apple lässt aber nur das Abrufen von API Inhalten zu, nicht das setzen.
Im angegeben Link ist ebenfalls nur das Abrufen von JSON beschreiben. -
@oliverio
Fazit:
Skript über SSH ausführen scheint nur auf Mac Rechnern zu funktionieren. Komme leider nicht auf den Server.
Eventuell finde ich eine alternative Lösung... -
@bloop Dieses Problem hatte ich womöglich auch mit Radicale, was ich als Kalenderserver benutze. Apple ist pingelig, was die Schlüssellängen bei verschlüsselten Verbindungen angeht. Bei Radicale geht es zwar um SSL/HTTPS mit Schlüssellänge mindestens 2048 ... aber vielleicht ist hier das Prob ähnlich gelagert ... Ich habe da aber irgendwann auch aufgegeben...
Kann man die Kalendereinträge ggfs als Mails verschicken, und dann automatisch im ioBroker verarbeiten?
-
@bloop sagte in Datenpunkt über SSH Verbindung beschreiben:
Apple lässt aber nur das Abrufen von API Inhalten zu, nicht das setzen.
Im angegeben Link ist ebenfalls nur das Abrufen von JSON beschreibenund woran erkennt apple, das du daten setzen willst?
ich hatte dazu schon eine Erklärung geschrieben -
-
ich liebe leute die meine posts genau durchlesen.
lese nochmal bitte.
nur weil da was drübersteht heißt das nicht das der adapter genau so arbeitetdas http protokoll hat verschiedene methoden. genau die die da aufgelistet werden.
es gehen immer daten vom sender und wieder zurück.
die eigentliche definition des http protokolls hat der simple api adapter etwas missbraucht.
er nimmt nut GET-Requests an.
Alles andere steht in der Url. Also egal ob setzen, abrufen, etc. Immer GETWenn es nicht funktioniert, liegt es nicht daran, das bei Apple in der Überschrift steht, das Daten abgerufen werden, sondern an etwas anderem
auch bei einem set in der Url, antwortet der simple api-adapter mit einem json.
probiere es einfach mal im browser aus -
@oliverio
Tut mir leid ich denke wir haben einfach an einander vorbei geredet...Ich konnte den Datenpunkt jetzt wie du beschrieben hast mit dem Block "Inhalte von URL abrufen" beschreiben.
Nachdem es im Browser ebenfalls nicht funktioniert hat, hab ich das Tablet neu Verbunden. Jetzt klappts!
Das Problem lag nicht am Block sondern am Tablet selbst...