HOW TO: Siri Kurzbefehle (Shortcuts)

Begonnen von buennerbernd, 22 September 2019, 22:22:20

Vorheriges Thema - Nächstes Thema

buennerbernd

Hallo,

mit iOS 13 hat sich die App "Kurzbefehle" auf meinen Homescreen gedrängelt und so hatte ich die Idee, damit FHEM-Befehle auszuprobieren.

Hier ist mein Kurzbefehl-Template:


  • Einstellungen -> Kurzbefehle -> Nicht vertrauenswürdige Kurzbefeh... erlauben
  • Den Link  FHEM-Befehl ausführen mit dem iPhone öffnen
  • Kurzbefehl überprüfen. Die Texte werden später korrigiert. Unten roten Button "Nicht vertrauenswürdigen Kurzbefehl hinzufügen" drücken.
  • Host-URL anpassen, Weiter
  • FHEM-Befehl eingeben, Fertig
  • Befehl testen
  • Kurzbefehl umbenennen, Farbe und Bild anpassen

Testet mal, ob das für euch klappt!

Kann mir einer sagen, wie ich unter iOS 13 dafür einen Siri-Satz aufnehmen kann?
Unter Einstellungen -> Siri & Suchen erscheinen bei mir keine Kurzbefehle.

Gruß, Stefan.
Modulentwickler von KLF200 und KLF200Node

Loredo

ZitatThis shortcut cannot be opened because your Shortcuts security settings don't allow untrusted shortcuts.


Um dies zu überwinden, muss man noch in den Settings generell externe Quellen erlauben (siehe Screenshot).


Danach klappt das Setup und auch das absetzen eines Befehls 👍🏼


Was die Aufnahme eines Siri-Satzes angeht: Ich glaube, der Satz wird jetzt als Teil des Kurzbefehls definiert:
https://techcrunch.com/2019/06/03/siri-shortcuts-comes-built-in-on-ios-13-allows-for-more-powerful-shortcuts/
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

buennerbernd

@Loredo

Danke für's Testen. Schön, dass es klappt, sogar auf englisch.
Die von Dir beschriebene Hürde sollte mit Punkt 1 meiner Auflistung überwunden werden. (Sieht auf deutsch etwas anders aus, als auf englisch.)

Es muss mich wohl einer mit der Nase drauf stoßen, wie der Siri-Satz aufgenommen wird. Ich finde es nicht. Vielleicht kommt es auch erst morgen mit iOS 13.1?

Ich habe oben im Original-Post die letzte Aktion des Kurzbefehls noch minimal korrigiert (neuer Link). Es wird jetzt die FHEM-Webseite nicht unnötig heruntergeladen. Sie wird ja so und so nicht angezeigt.

Falls jemand noch mehr Ideen zur Verbesserung hat, immer her damit!

Gruß, Stefan.
Modulentwickler von KLF200 und KLF200Node

Loredo

Zitat von: buennerbernd am 23 September 2019, 10:51:59
Die von Dir beschriebene Hürde sollte mit Punkt 1 meiner Auflistung überwunden werden. (Sieht auf deutsch etwas anders aus, als auf englisch.)


Nee, ohne den Zwischenschritt kommt man nicht so weit, dass man den roten Button überhaupt sieht. Deshalb habe ich es ja nochmals geschrieben. Edit: Hab ich wohl in deiner Beschreibung glatt überlesen, sorry.


Ich habe das hier mit iOS 13.1 getestet, da ist nichts anderes drin außer dass die "personal automations" auf den lokalen Geräten wieder hinzukommen.
Hatte auch vor, dass man das GEOFANCY Modul mit einem Kurzbefehl ansprechen kann. Danke für die Vorarbeit, ich hatte mich bisher noch nicht ausführlich damit befasst. Nun kann ich mal schauen, ob und wie man sowas auch in die offizielle Gallery bekommt.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

buennerbernd

Die Aufnahme eines Siri-Satzes (personal phrase) habe ich immernoch nicht gefunden.
Was aber geht, ist einfach den Namen des Kurzbefehls sprechen.

Man nennt z.B. seinen Kurzbefehl: Rollladen im Arbeitszimmer hoch
Dann geht "Hey Siri, Rollladen im Arbeitszimmer hoch"
oder Homebutton "Rollladen im Arbeitszimmer hoch"

Das Problem dabei ist, dass selbst bei dieser relativ kurzen Bezeichnung die Textdarstellung in der App und erst recht im Widget an die Grenzen stößt und hinten das wichtigste abgeschnitten wird.
Man muss also einen Kompromiss zwischen Lesbarkeit und natürlicher Sprache finden.
Modulentwickler von KLF200 und KLF200Node

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

vuffiraa

Ich habe heute auch mal etwas mit den Kurzbefehlen rumgespielt. Die Erfahrungen sind leider etwas durchwachsen :( Haben sich aber mit dem Schreiben hier gelöst  :)

Aber der Reihe nach.

- Erstes Problem:
Ich hatte den Punkt "Nicht vertrauenswürdige Kurzbefeh... erlauben" nicht in meinen Einstellungen.
Die Lösung dazu habe ich im Netz gefunden. Einfach irgendeinen Kurzbefehl aus der Galerie in der App importieren, dann erscheint die Einstellungsoption. Ich hatte vorher noch gar keine Kurzbefehle definiert.

- Zweites Problem:
Mein FHEM-Zugriff ist mit Basic-Authentication geschützt. Die Aktion "Inhalte von URL abrufen" unterstützt entsprechende Header, aber "Header aus URL Abrufen" nicht. Wenn ich mein FHEM per GET aufrufen sehe ich zwar im Postman, dass das CSRF-Token dabei ist, kann aber in der Aktion "Inhalte von URL abrufen" nicht darauf zugreifen. Bei der Aktion "Header aus URL Abrufen" kriege ich halt einfach 401 - Unauthorized  :(
Die Lösung ist mir hier beim Schreiben eingefallen, wenn ich die Zugangsdaten einfach mit in der URL angebe, funktioniert es. Nicht schön, aber geht erst mal.

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

buennerbernd

Ich muss auch noch einmal meine Ernüchterung niederschreiben.
Ich habe die ,,Automation" ausprobiert. Ich wollte in das Modul RESIDENTS bzw. ROOMMATE automatisch einchecken und auschecken, wenn ich unser Haus erreiche oder verlasse.
Was passiert? Ich bekomme eine Erinnerung auf dem Lockscreen, und kann dann manuell meinen Kurzbefehl ausführen, nachdem ich mein Handy entsperrt habe. Das halte ich für eine sehr freie Interpretation des Wortes ,,Automation" seitens Apple.
Modulentwickler von KLF200 und KLF200Node

Stefan_Hvr

Hallo buennerbernd,
vielen Dank für ,,die Basics" hat mir sehr weitergeholfen.

Folgendes Szenario, falls es jemandem hilft. Ich nutze das Modul alarmclock und habe zwei Wecker.
Einen für Wochentag und einen fürs Wochenende. Grund dafür sind die unterschiedlichen, auszuführenden Aktionen.
Mit Deiner Starthilfe habe ich jetzt einen Kurzbefehl gebaut bzw. Deinen angepasst, der zuerst fragt ob Wochentag oder Wochenende gestellt werden soll und dann nach der Uhrzeit fragt.
Danach schickt er den cmd inkl. Token los. Klappt ganz wunderbar. Übrigens auch per Sprache mit Siri.

Wer es brauchen kann hier der adaptierte Kurzbefehl:
https://www.icloud.com/shortcuts/2eb6f2bb21fb4eda832c70367f840a75

Viele Grüße
Stefan

Viele Grüße aus Hannover
EnOcean, Zigbee, Shelly MQTT, Homebridge, Fritzbox, Harmonyhub, Alexa, Worx MQTT, Sonos MQTT, Tahoma, Telegram, Vorwerk,IRoomba MQTT, Buderus Km200,
seit 08/2019 Hausautomation mit FHEM

JWRu

Vielen Dank für die Anleitung - bei mir hat es gut geklappt!
Ich habe noch eine Frage: Ich habe für die Kurzbefehle Shortcuts auf dem Home-Bildschirm angelegt. Wenn ich darauf tippe, wird die Kurzbefehl-App geöffnet und der Kurzbefehl ausgeführt.
Gibt es irgendeine Möglichkeit, dass der Kurzbefehl ausgeführt wird, ohne dass sich die Kurzbefehl-App öffnet (z.B. im Hintergrund)?
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

buennerbernd

Ich habe die Kurzbefehle als Widget eingeschaltet, da geht keine App auf.
Modulentwickler von KLF200 und KLF200Node

blane

Zitat von: buennerbernd am 22 September 2019, 22:22:20
Hallo,

mit iOS 13 hat sich die App "Kurzbefehle" auf meinen Homescreen gedrängelt und so hatte ich die Idee, damit FHEM-Befehle auszuprobieren.

Hier ist mein Kurzbefehl-Template:


  • Einstellungen -> Kurzbefehle -> Nicht vertrauenswürdige Kurzbefeh... erlauben
  • Den Link  FHEM-Befehl ausführen mit dem iPhone öffnen
  • Kurzbefehl überprüfen. Die Texte werden später korrigiert. Unten roten Button "Nicht vertrauenswürdigen Kurzbefehl hinzufügen" drücken.
  • Host-URL anpassen, Weiter
  • FHEM-Befehl eingeben, Fertig
  • Befehl testen
  • Kurzbefehl umbenennen, Farbe und Bild anpassen

Testet mal, ob das für euch klappt!

Kann mir einer sagen, wie ich unter iOS 13 dafür einen Siri-Satz aufnehmen kann?
Unter Einstellungen -> Siri & Suchen erscheinen bei mir keine Kurzbefehle.

Gruß, Stefan.

Bei deinem Punkt 6 schreibst du "Fhem-Befehl" eingeben. Wie kann ich hier mehrere Befehle eingeben? Also das er beispielsweise Jalousie runter macht und Licht aus?

buennerbernd

Für mehrere Befehle ist dieses Template nicht vorbereitet.
Du hast 2 möglichkeiten:


  • Du stößt in FHEM eine Aktion an, die weitere auslöst.
  • Du Probierst das Template zunächst mit einem Befehl aus, versuchst zu verstehen, was in diesem Kurzbefehl passiert und hängst einen weiteren Befehl an.

Ich würde zur ersten Variante tendieren, dann ist der Kurzbefehl schneller ausgeführt und weniger fehleranfällig.

Gruß, Stefan.
Modulentwickler von KLF200 und KLF200Node

balli1187

Ich habe mich vor kurzem auch mal mit den Shortcuts rumprobiert.
Inspiriert durch dieses Blog-post (http://www.vc4.de/tuer-oeffnen-mit-otp-und-siri-shortcuts/) habe ich meinen Kurzbefehl zusätzlich mit One Time Passwort gesichert und würde meinen Weg gern hier teilen:

- auf dem iPhone OTP Auth installieren (Bei dieser können im Gegensatz zu Google Authenticator die Codes in Kurzbefehlen abgerufen werden.
- GoogleAuth Modul in FHEM definieren und einen Token/QR erzeugen
- ein separates Web und allowed_Web Device anlegen
- darüber habe ich eingeschränkt, dass nur auf das GoogleAuth zugegriffen werden darf (User und Passwort frage ich bereits vorher in einem nginx reverse proxy ab)
- alle Befehle sehen dann bei mir so aus: setReading GoogleAuth <eigenes Reading> <OTP>:<eigentlicher Befehl>
- per Notify reagiere ich dann auf das Reading und prüfe ob das OTP gültig ist und wenn ja führe ich den hinterlegten Befehl aus.

Ich würde sagen, dass ist sicherheitstechnisch nochmal etwas besser als nur Basic Auth aber da ich da kein Experte bin, lasse ich mich gern dazu belehren (ist auch die zweite Intention hinter dem post hier).

Grüße Stephan
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

thorsten_automatic

Danke für den Link! Ist alles extrem spannend für mich. - Bin noch neu hier, aber hoffe soweit schaff ich es dann vielleicht auch mal.^^

Grüße
Thorsten
Wohltun beginnt im Haus.

Spanish

Hallo

ich würde gerne eine Siri Kurzbefehl anlegen "Siesta". Dabei sollen dann 2 Rolladen die ich über FHEM ansteuern kann auf 60% heruntergefahren werden. Wie kann ich den FHEM Befehl dafür anlegen. Hier mein Screen Shot von einem der beiden Rolladen. Das gleiche sollte dann auch für einen 2. ausgeführt werden. Wie kann ich den Befehl nur auf die 60 setzten?


balli1187

@Spanish
Schau mal zwei Posts zurück, da hab ich beschrieben, wie ich es gemacht habe.
Zusätzlich kannst du im Wiki gucken, wie man bei FHEM eine Web API aufsetzt. Darüber erfolgt ja der Zugang zu FHEM aus Siri heraus.
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

Spanish

@balli1187
Vielen Dank. Ich nutze FHEM nur bei mir im Netzwerk 192.... Fragen
1. Muss ich dann noch ein neues WebInterface (API aufsetzen) ich habe mal gegoogled und es gibt da mehrere Varianten, welche würdest Du empfehlen?
2. Wenn ich mir den Link auf Deinem Post ansehe komme ich an eine stelle wo es sehr ähnlich aussieht wie etwas was ich versucht habe.
meine.fhem.instanz/fhem?cmd.Persiana_Puerta_Salon=set Persiana_Puerta_Salon 60&amp;room=Homekit&fwcsrf=csrf_311923864183029
Sollte ich das einfach mit dem "Inhalte Abrufen" nutzen?
Sorry brauche leider etwas mehr noob support. Danke im Voraus!

buennerbernd

Zitat von: Spanish am 26 Oktober 2020, 15:28:50
@balli1187
Vielen Dank. Ich nutze FHEM nur bei mir im Netzwerk 192.... Fragen
1. Muss ich dann noch ein neues WebInterface (API aufsetzen) ich habe mal gegoogled und es gibt da mehrere Varianten, welche würdest Du empfehlen?

Hast du zum Einstieg die Variante aus dem allerersten Post probiert?
Im eigenen Netz ist nicht unbedingt ein neues WebInterface notwendig.
Modulentwickler von KLF200 und KLF200Node

balli1187

@Spanish
Wenn alles nur von intern erreichbar sein soll, kannst du auf ein eigenes Webdevice verzichten.
Ich nutze es, um die von außen erreichbaren Aktionen noch weiter einzuschränken.

Deine zweite Frage verstehe ich nicht ganz. Abrufen, tue ich eigentlich nur den csrf-Token aus dem URL-Header.

Auf den ersten blick würde ich sagen, dass in deiner Befehl zu viele und unnötige Bestandteil (room?) enthalten sind.
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

Spanish

1000 Dank Probiert und funktioniert bestens!

SamNitro

Kann man auch von außerhalb ein fertiges Telegram konfigurieren?
Kenne mich leider nicht so gut mit den Shortcuts aus, finde die Funktion aber schon ziemlich genial.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

balli1187

Zitat von: SamNitro am 27 Oktober 2020, 16:21:28
Kann man auch von außerhalb ein fertiges Telegram konfigurieren?
Kenne mich leider nicht so gut mit den Shortcuts aus, finde die Funktion aber schon ziemlich genial.
Prinzipiell geht das auf jeden Fall. Ich würde da wiederum auf meinen Post eine Seite zuvor verweisen.
Es muss hierfür ja ein Zugang von außen geschaffen werden, den man entsprechend absichern sollte.

Am sichersten wäre es natürlich, hierfür einen VPN zu nutzen aber das hab ich bisher in einem Kurzbefehl noch nicht integrieren.
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

SamNitro

Telegram habe ich schon von außerhalb.. (man muss ja dann seine Kontakte extra freigeben)
hätte auch ein VPN Zugang.

Aber ich weiß leider nicht wie das Shortcut aussehen muss.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

leachim200

Hallo
Ich habe den Kurzbefehl wie im ersten Post übernommen. IP adresse und Befehl angepasst.
Ich benutze basic auth für die Absicherung meiner Fhem instanz muss ich dies zusätzlich irgendwo angeben?

Wenn ich versuche den Kurzbefehl auszuführen bekomme ich in fhem folgende fehlermeldung
unsupported HTTP method HEAD, rejecting it.

balli1187

N'Abend.

Das schalten via Kurzbefehl funktioniert bei mir problemlos.

Hat schon mal jemand etwas von FHEM gelesen und dann weiterverarbeitet? Ich würde gern ein Reading auslesen und den Wert im Kurzbefehl weiterverarbeiten.

Eigentlich möchte ich nur meinen iPhone Wecker automatisch an Feiertagen/Urlaub abschalten. Die Information ist im Kalender aber hab es bisher nicht geschafft das direkt in einem Kurzbefehl (bzw. Automation) abzuarbeiten.....
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

buennerbernd

Wüsstest du, wie man dann den iPhone Wecker stellt?
Ich suche noch die Lösung für den umgekehrten Ansatz. Ich will dem Haus sagen, wann ich vorhabe aufzustehen, basierend auf dem iPhone-Wecker.
Modulentwickler von KLF200 und KLF200Node

balli1187

Zitat von: buennerbernd am 02 April 2021, 22:35:54
Wüsstest du, wie man dann den iPhone Wecker stellt?
Ich suche noch die Lösung für den umgekehrten Ansatz. Ich will dem Haus sagen, wann ich vorhabe aufzustehen, basierend auf dem iPhone-Wecker.
Nun ja dafür gibt es ja die Option "Wecker erstellen". Hab ich mir zwar im Detail bisher nicht angesehen aber damit sollte es möglich sein.
Die ganze Geschichte mit dem schlafplan lässt sich seit der Verschiebung in die Health App nur noch bedingt anpassen. Den großen Mehrwert bringt es mir allerdings auch nicht, außer dass mir das Telefon jeden Abend sagt, dass ich zu spät ins Bett gehe  ;D
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

buennerbernd

Zitat von: balli1187 am 02 April 2021, 19:38:04
Hat schon mal jemand etwas von FHEM gelesen und dann weiterverarbeitet? Ich würde gern ein Reading auslesen und den Wert im Kurzbefehl weiterverarbeiten.

Probiere in dem Siri-Template statt

set device on

mal den Befehl:

{ReadingsVal("device", "reading", "default")}

also z.B.

{ReadingsVal("Wetter", "temperature", 0)}


Mit dem Ergebnis kannst du dann den Kurzbefehl weiterbauen.
Modulentwickler von KLF200 und KLF200Node

balli1187

Zitat von: buennerbernd am 06 April 2021, 18:35:11
Probiere in dem Siri-Template statt

set device on

mal den Befehl:

{ReadingsVal("device", "reading", "default")}

also z.B.

{ReadingsVal("Wetter", "temperature", 0)}


Mit dem Ergebnis kannst du dann den Kurzbefehl weiterbauen.
Habe ich probiert und auch den KB von "url aufrufen" ind "Inhalt von url abrufen" geändert.

Leider funktioniert es nicht.
Ich habe Fame hinter einem nginx reverse proxy erreichbar aber sobald ich einen Befehl absetze, bekomme ich als nächste Seite 404 angezeigt.
Set-begebe werden durchgereicht und funktionieren aber der response wird geblockt. Damit gehen leider auch keine Abfragen.

Hat jemand eine Idee dazu?
Kann es daran liegen, dass ich die basic auth. nicht in FHEM sondern im nginx habe?
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

buennerbernd

Dann ist es erstaunlich, dass der erste Aufruf funktioniert, um das X-FHEM-csrfToken abzuholen.

Klappt dein ReadingsVal-Befehl oben in der FHEM-Kommandozeile?
Modulentwickler von KLF200 und KLF200Node

balli1187

Zitat von: buennerbernd am 07 April 2021, 08:50:25
Dann ist es erstaunlich, dass der erste Aufruf funktioniert, um das X-FHEM-csrfToken abzuholen.

Klappt dein ReadingsVal-Befehl oben in der FHEM-Kommandozeile?
Da bin ich noch garnicht drüber gestolpert aber ja, sehr erstaunlich...

Ich hab gestern noch ein wenig probiert aber erstmal kurz zu meinem Aufbau
- nginx reverse proxy mit basic auth (Config ist aus dem Wiki)
- proxy mit SSL Zertifikat von letsencrypt
- eigene fhem WEB Instanz mit Gerätebeschränkung

Was habe ich getestet:
- Befehle von intern auf der Standard-Web-Instanz funktionieren (logisch)
- Aufruf der zweiten Web-Instanz auf dem zugewiesenen Port (8090) funktioniert
- über 8090 gehen dann auch entsprechende ReadingsVal-Befehle bzw. die Navigation durch das verbliebene Menü
- von außen bekomme ich jedoch nur eine weiße Seite mit Menü als Text angezeigt (nicht das bekannte grün-gelbe Design)
- sobald ich dort irgendetwas anklicke oder eintippe, lande ich auf 404
- die Übergabe von befehlen per URL funktioniert jedoch (also meine bisherigen Kurzbefehle laufen)

Ich bin da ziemlich ratlos....
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

TheTrumpeter

Ich habe damit auch ein bisschen herumgespielt, schaffe es aber mit iOS-Bordmitteln nicht einen Befehl abzusetzen ohne zusätzlich ein Tab im Safari zu öffnen...

Habe WEBapi für Zugrif ohne CSRFToken definiert und übergebe User/Passwort direkt in der URL: https://user:password@fhem-server:8088/fhem?Befehl&XHR=1
Das funktioniert grundsätzlich, der Befehl wird abgesetzt.

Wenn ich das dann im Kurzbefehl mit "URLs öffnen" aufrufe, klappt es auch, aber es geht ein (leeres) Safari-Tab auf.
Egal welche andere Variante ich probiere (Inhalte von URL abrufen, Inhalt von Website abrufen), es kommt immer eine nichtssagende Fehlermeldung.

Was mache ich falsch?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Esjay

Hast du dir das Template aus dem ersten Beitrag runtergeladen?
Damit brauchst du deinen Token auch nicht ausschalten, und musst nur deine DynDns vernünftig eintragen.

Sollte dann auf Anhieb funktionieren.

TheTrumpeter

Ja habe ich auch probiert.
Egal ob ich nur die Serveradresse oder auch wie vorhin geschrieben User:Passwort@ davor setze kommt folgende Fehlermeldung:

There was a Problem Running the Shortcut.

Meine Adresse beginnt natürlich mit https:// anstelle von http:// wie im Template. Und es klappt auch nicht im lokalen Netz direkt mit der Server-IP ohne DynDNS.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

vuffiraa

Zitat von: TheTrumpeter am 16 November 2021, 14:26:35
Wenn ich das dann im Kurzbefehl mit "URLs öffnen" aufrufe, klappt es auch, aber es geht ein (leeres) Safari-Tab auf.
Egal welche andere Variante ich probiere (Inhalte von URL abrufen, Inhalt von Website abrufen), es kommt immer eine nichtssagende Fehlermeldung.

Was mache ich falsch?

Ich habe mal bei mir nachgeschaut, der eigentlich Befehl wird nicht mit "URLs öffnen", sonder mit "Inhalte von <URL> abrufen" gestartet. Das sollte aber auch so im Template zu finden sein.

VG
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

TheTrumpeter

Genau, nur die Variante im Template führt zum oben genannten Fehler.

Habt ihr alle keine Absicherung mittels User/Passwort oder warum geht es bei euch?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

vuffiraa

Zitat von: TheTrumpeter am 16 November 2021, 22:37:44
Genau, nur die Variante im Template führt zum oben genannten Fehler.

Habt ihr alle keine Absicherung mittels User/Passwort oder warum geht es bei euch?

Kann man so nicht sagen, ich habe mal Screenshots meines Kurzbefehl angehängt.
VG
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

TheTrumpeter

#38
Was mir auffällt:
Du hast ,,fhem" eigentlich doppelt in der URL, funktioniert es trotzdem?
Selbst wenn ich das auch so mache, erhalte ich dieselbe Fehlermeldung.

Hier auch meine Screenshots, habe nochmal mit dem Template gestartet. Komischerweise sind die Zeilenumbrüche bei mir teilweise anders, aber es sind keine Leerzeichen dazwischen.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

vuffiraa

Zitat von: TheTrumpeter am 17 November 2021, 08:01:15
Was mir auffällt:
Du hast ,,fhem" eigentlich doppelt in der URL, funktioniert es trotzdem?
Selbst wenn ich das auch so mache, erhalte ich dieselbe Fehlermeldung.

Hier auch meine Screenshots, habe nochmal mit dem Template gestartet. Komischerweise sind die Zeilenumbrüche bei mir teilweise anders, aber es sind keine Leerzeichen dazwischen.

Das mit dem doppelten "fhem" war mir nach dem Absenden auch aufgefallen. Mein Fhem läuft aber hinter einen Reverse Proxy, dass erste "fhem" ist also nur der Proxy.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

vuffiraa

Die Fehlermeldung sagt leider nicht wirklich etwas über das Problem.

Bei mir gehen die Kurzbefehle auch nicht, wenn z.B. das Zertifikat nicht passt.
Dann kommt aber im Safari auf dem IPhone eine sprechende Meldung, wenn ich die URL direkt aufrufen.
VG
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

TheTrumpeter

Zitat von: vuffiraa am 17 November 2021, 08:15:32
Die Fehlermeldung sagt leider nicht wirklich etwas über das Problem.
Die Erkenntnis hatte ich auch schon  ;D
Hab's aber nicht geschafft irgendwelche detailliertere Informationen zu bekommen.

Zitat von: vuffiraa am 17 November 2021, 08:15:32
Bei mir gehen die Kurzbefehle auch nicht, wenn z.B. das Zertifikat nicht passt.
Dann kommt aber im Safari auf dem IPhone eine sprechende Meldung, wenn ich die URL direkt aufrufen.
Aufruf in Safari geht problemlos. Allerdings kommt beim ersten Mal trotzdem die User/Passwortabfrage, selbst wenn ich die in die URL codiere.
Zertifikat vom Server habe ich bei "VPN und Geräteverwaltung" auch gelistet.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

TheTrumpeter

Nachtrag:
Habe nun probehalber die Authentifizierung für die WEBapi-Schnittstelle deaktiviert um zu sehen ob's daran liegt. NEIN. Erster Aufruf in Safari geht dann ohne Login-Fenster, die Fehlermeldung im Kurzbefehl bleibt unverändert.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

TheTrumpeter

#43
Und noch ein Nachtrag:
Liegt offenbar an der Verschlüsselung, wenn ich das Attribut HTTPS auf WEBapi auf 0 setze, klappt's... und zwar auch mit Passwort in der URL codiert, sowohl mit dem Template inkl. CSRF-Token als auch wenn ich den deaktiviere ohne Token.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

balli1187

Zitat von: TheTrumpeter am 17 November 2021, 08:54:27
Und noch ein Nachtrag:
Liegt offenbar an der Verschlüsselung, wenn ich das Attribut HTTPS auf WEBapi auf 0 setze, klappt's... und zwar auch mit Passwort in der URL codiert, sowohl mit dem Template inkl. CSRF-Token als auch wenn ich den deaktiviere ohne Token.
Dann liegt es vielleicht an deinen Zertifikaten.

Ich habe ein ähnliches Setup aber bei mir funktioniert es:
- reverse Proxy über https
- zertifikat von letsencrypt
- auth auch im Proxy über basic auth
- zu FHEM (intern) dann weiter per http
- Authentifizierung in FHEM per OTP

Läuft bei mir mitm kurzbefehl ohne Probleme.
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

TheTrumpeter

Zitat von: balli1187 am 17 November 2021, 12:02:25
Dann liegt es vielleicht an deinen Zertifikaten.
Auch wenn so einiges dagegen spricht (keine Fehlermeldung in Safari, Kurzbefehl läuft problemlos wenn ich die URL mit Safari öffnen lasse, Zertifikat wird als "gültig" angezeigt), wie könnte ich das eingrenzen?
Das aktuelle Zertifikat habe ich vor Jahren selbst mittels der Anleitung im HowTo erzeugt...
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

ak323

Coole Sache ... auf Anhieb funktioniert. Danke.
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

binford6000

Zitat von: balli1187 am 17 November 2021, 12:02:25
Dann liegt es vielleicht an deinen Zertifikaten.

Ich habe ein ähnliches Setup aber bei mir funktioniert es:
- reverse Proxy über https
- zertifikat von letsencrypt
- auth auch im Proxy über basic auth
- zu FHEM (intern) dann weiter per http
- Authentifizierung in FHEM per OTP

Läuft bei mir mitm kurzbefehl ohne Probleme.

Hi,
wie hast du die Proxy basic auth in iOS konfiguriert?
Ich hab unter Einstellungen -> Passwörter die website hinzugefügt inkl. user + pass.
Trotzdem antwortet der Proxy mit auth. required...

VG Sebastian

balli1187

Zitat von: binford6000 am 08 Januar 2022, 12:22:09
Hi,
wie hast du die Proxy basic auth in iOS konfiguriert?
Ich hab unter Einstellungen -> Passwörter die website hinzugefügt inkl. user + pass.
Trotzdem antwortet der Proxy mit auth. required...

VG Sebastian
Ich rufe einfach die URL mit User und PW auf - also <user>:<pw>@fhem-server-proxy.
Die Daten stehen also im Kurzbefehl.

Ist das mit den Passwörtern wie du es beschrieben hast in iOS so gedacht? Kenne mich da nicht aus
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

binford6000

Ja so hab ich es jetzt auch hinbekommen. Ich musste allerdings noch
im nginx proxy manager setzen:
proxy_hide_header Upgrade;

In iOS kann man unter Einstellungen -> Passwörter eine Webseite samt user + pass hinzufügen.
Dachte damit erspare ich mir die URL mit user + pass. Leider erscheint dennoch eine Eingabeaufforderung...

Trotzdem danke!
VG Sebastian

balli1187

Zitat von: binford6000 am 08 Januar 2022, 15:34:41
Ja so hab ich es jetzt auch hinbekommen. Ich musste allerdings noch
im nginx proxy manager setzen:
proxy_hide_header Upgrade;
Da muss ich mal noch bissl recherchieren....
Ich hab da nur meine Keepass-App drin und werde beim besuchen einer Website gefragt ob ich User und Passwort aus dieser App ziehen will. Ich muss da aber auch mein masterpasswort vorher eingeben.

Wäre natürlich nochmal cooler, wenn die credentials nicht in Klartext im shortcut stehen würden.

In iOS kann man unter Einstellungen -> Passwörter eine Webseite samt user + pass hinzufügen.
Dachte damit erspare ich mir die URL mit user + pass. Leider erscheint dennoch eine Eingabeaufforderung...

Trotzdem danke!
VG Sebastian
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

binford6000

ZitatIch hab da nur meine Keepass-App drin und werde beim besuchen einer Website gefragt ob ich User und Passwort aus dieser App ziehen will. Ich muss da aber auch mein masterpasswort vorher eingeben.

Ja so mach ich das auch mit bitwarden. Das Masterpasswort brauch ich nicht - TouchID als Ersatz.
Das mit den Passwörtern für Websites hatte  ich beim gegoogel heute morgen aufgeschnappt.
Schade dass es mit dem nginx proxy manager nicht funktioniert...  :-X 

VG Sebastian