Kurzbefehle: Inhalt einer Website abfragen

  • Hallo zusammen,


    unser örtlicher ÖPNV hat meinen Sohn jetzt morgens mehrfach in schwitzen gebracht weil der Schulbus ausgefallen ist. Busausfälle meldet der Anbieter auf seiner Webseite.

    Da kam mir Idee das automaker über einen regelmäßigen Kurzbefehl zu automatisieren.


    Ich stelle mir das wie folgt vor:

    Abrufen der URL, Inhalt wohin kopieren, Inhalt nach einer bestimmten Info durchsuchen (Buslinie oder Haltestelle), Notification oder Smart Home Aktion o.ä. falls die gesuchte Variable gefunden wurde.


    Im Grunde nicht wirklich herausfordernd, allerdings komme ich da an meine Programmiergrenzen weil mir Bedienung der Kurzbefehle App und der Variablen nicht wirklich erschließt. Ich ende spätestens am Punkt wo der Text durchsucht werden soll.
    Zum anderen komme ich nicht dahinter welche Befehle alle möglich sind. Ggf ist mein Ansatz ja überhaupt nicht machbar.


    Hat hier jemand von euch einen Tipp?


    Vielen Dank schon mal


    Grüße Dirk

  • Super!

    Vielen Dank! Das hat tatsächlich geholfen.
    Ich erhalte nun morgendlich unterschiedliche Notifikationen. Den Kurzbefehl lasse ich automatisiert starten. Soweit so gut!


    Schöner wäre es tatsächlich noch wenn ich meinen HomePod fragen könnte und mir Siri dann ein entsprechendes Feedback gibt.


    Das scheint aber nicht zu gehen, oder?

    Audio abspielen sehe ich da als einzige Alternative. Dann müsste ich die Antworten wohl in meiner Mediathek gespeichert haben, oder gibst da auch einen Trick?

  • Im Grunde nicht wirklich herausfordernd, allerdings komme ich da an meine Programmiergrenzen weil mir Bedienung der Kurzbefehle App und der Variablen nicht wirklich erschließt. Ich ende spätestens am Punkt wo der Text durchsucht werden soll.

    Ich dachte schon, ich sei der einzige, der Kurzbefehle nicht rafft. Ich ende schon weit vor dem Punkt, an dem irgendwas durchsucht werden soll. Ich hab eine ähnliche Aufgabe dann mit Node Red gelöst.

  • Ach Shortcuts ist programmieren für die, die keine Lust haben 2 Stunden nach einem vergessenen Semikolon zu suchen 😁


    Es gibt 2 Aktionen um text sprechen zu lassen, die erste zeigt dir den Text an beim normalen ausführen aber spricht, wenn per Siri gestartet, die zweite spricht immer.


    Versuchs mal!


  • Hallo zusammen, könntet ihr den gesamten Shortcut-Aufbau erläutern?


    Ich würde gerne den Tankinhalt meiner Zisterne, der auf einer Website dargestellt ist, in einen Shortcut integrieren.


    Danke im Voraus:)

  • Was ist denn für dich unverständlich am Shortcut-Aufbau?


    Rufe die Inhalte von google ab - Suche nach [0-9a-zA-Z] (hier ersetzen durch dein Suchbegriff) in den Inhalten von Google - Wenn Suchbegriff wurde mind. einmal gefunden (has any value), dann schicke mir eine Benachrichtigung mit "Hallo Welt".


    Du kannst natürlich jetzt nach "Tankinhalt" auf der Webseite deiner Zisterne suchen, aber ausgeben was hinter "Tankinhalt:" steht, kannst du mit obigen Shortcut nicht. Dazu müsste du mit Regex (Regular expressions) arbeiten, damit dir der Wert dahinter ausgegeben wird, da sich ja der Wert ständig ändert.


    Dazu müsste man aber zunächst wissen, wie der Tankinhalt dargestellt wird (Auch ob es eine Dezimalzahl ist mit wieviel Kommastellen etc.)


    Wenn es nur eine Zahl ist, dann ginge das Beispielsweise mit der Aktion "Text abrufen" und dann "Tankinhalt: (\d) in Inhalt der URL abgleichen"

  • Ich würde gerne den Tankinhalt meiner Zisterne, der auf einer Website dargestellt ist, in einen Shortcut integrieren.

    Eine Website auslesen ist nicht unbedingt einfach. Dazu müsste man schon die Webseite sehen, aber ob das mit Kurzbefehle so einfach zu machen ist, wage ich zu bezweifeln.

  • [...] aber ob das mit Kurzbefehle so einfach zu machen ist, wage ich zu bezweifeln.

    Eigentlich schon recht einfach. Wie das geht, hat oben Bereits OrangeX gepostet.


    Hier will jemand Werte aus seinem täglichen "Fitnessprogramm" auslesen, die irgendwo in einem Log gespeichert werden und dann an seinen Fitnesscoach schicken:

    https://talk.macpowerusers.com…tcuts-text-matching/11133

    Die Fragestellung und Vorgehensweise ist ähnlich. Zum Glück hat uns der Threadersteller auf der Seite gleich mal seine DAILY STATS gepostet. Das machen wir uns zu Nutze und durchsuchen die Seite einfach nach diesen Werten.


    Den Link nutzen wir gleich mal als Beispiel und nehmen das für den Kurzbefehl her:


    Wir rufen den Inhalt der Seite https://talk.macpowerusers.com…tcuts-text-matching/11133 ab. Da uns in unserem Beispiel der Tag interessiert, soll er nach dem Inhalt "Day: (\d)" suchen. ( Das (\d) ist unsere Variable x, weil wir den Wert nicht kennen (ändert sich ja), wir wissen aber, dass es - in dem Beispiel - eine einzige Zahl ist, daher sucht uns \d eine Zahl zwischen 0-9)


    Wenn er Day: und eine darauffolgende Zahl findet, soll er diese ausgeben. Ausgabe "Day: 8"


    Man müsste halt jetzt die Webseite kennen und dort dann Day: durch Tankinhalt: oder was auch immer ersetzen und dann noch die regex definieren, also dass es auch mehrere Zahlen und sogar Kommazahlen sein können. Möglicherweise funktioniert /\d+\,?\d*/ heißt, eine oder mehrere Zahlen (\d+), optionales Komma (\,?) und null bis mehrere Nachkommastellen (\d*).

    Im Kurzbefehl sieht das so aus, kann jeder mal nachbauen und ausführen, Ergebnis sollte "Day: 8" sein. (Wenn man jetzt nur die 8 haben will, muss man mit der Kurzbefehl-Aktion "Gruppe mit gefundenem Text abrufen" verwenden und dann über den Index gehen. Hab ich aber noch nicht hinbekommen.


    EDIT: Kurz getestet und es funktioniert: wenn man statt nach dem Wert Day z.B nach seinem Gewicht, also Weight suchen will, geht das auch über Weight: (\d). Hier spuckt er dann aber nur "Weight: 9" aus, das Gewicht beträgt aber 94.3. Also verwenden wir den von mir oben aufgeführten Regex (Achtung, mit Klammern davor und dahinter): Weight: (\d+\.?\d*) und schon spuckt unser Kurzbefehl Weight: 94.3 aus.

    Bilder

    Einmal editiert, zuletzt von Patrick_ ()

  • Was ist denn die Regular Expression für einschließliches „Oder“?


    Habe bisher „nur“

    | für Alternation. A|B, matches either A or B

    gefunden.

  • Hallo Rome,


    habe ich auf die schnelle leider keine Lösung. Regular Expression Codes werden ja von links nach rechts gelesen, heißt, wenn er bei A | B dann A findet, hört er auf zu suchen und gibt A aus, auch wenn später noch B auftaucht.


    Vllt. findest du hier was, das ist eine Sammlung an Regular Expressions bezogen auf Siri Kurzbefehle:

    https://www.reddit.com/r/short…for_the_beginner_a_regex/

  • Jep auch schon so etwas gefunden. Aber - oweia - RegEx, eine völlig neue riesige Welt für sich. Schon wieder etwas in das man sich versenken kann.


    Gibt es einen Shortcut, der mir dann den Text (Absatz, die nächsten 4-5 Zeilen, die nächsten 20-40 Worte, ...) nach der Fundstelle anzeigt?

  • (/d) ist deine Variable, in dem Fall eine Zahl zwischen 0-9. In den Kurzbefehlen über neue Aktion > Text abgleichen und dort genau so eintragen. Eintippen musst du das als reinen Text selber, Day (/d) gibt er dir nicht vor.

    Einmal editiert, zuletzt von Patrick_ ()

  • Wenn du "Text abgleichen" als Aktion in der Kurzbefehle-App einfügst, dann steht da standardmäßig [0-9a-zA-Z], das überschreibst du einfach mit Day: (\d). (Dein \ ist übrigens auch falsch rum). Es muss oben wie auf meinem Screenshot aussehen, da ist Day: (\d) in blauer Schrift mit blauem Hintergrund wie "Inhalt der URL".

  • Sehr gut! würde mich jedenfalls interessieren, ob du damit dann am Ende auch deinen Tankinhalt der Zisterne erfolgreich abrufen kannst. Kannst ja dann mal berichten.

  • Ich hatte mir vor längerem, inspiriert von den Vorschlägen hier, auch mal eine solche Automationen gebaut. Dann wurde diese Webseite geschlossen und die Automationen funktionierte nicht mehr. Jetzt gibt es die Status Webseite wieder. Aber meine Automation funktioniert nicht.


    Warum?


  • Rome


    Ohne einen blassen Schimmer zu haben, wieso deine Automation nun nicht funktioniert, probiere es mal mit „http“ statt „https“?


    Wie gesagt, ein Schuss ins Blaue….