Ich kann meine Wohnungstür und die Gebäudeeingangstür schon lange über HTTPS öffnen: die Wohnungstür über ein Tedee-Schloss, die Eingangstür über eine selbst gebastelte Lösung mit Raspberry Pi und Gegensprechanlage. Es war immer ganz praktisch, die Türen mit dem Handy zu öffnen, ohne einen Schlüssel zu benötigen. Manchmal gehe ich aber joggen. Dabei habe ich nur meine Pixel Watch mit LTE dabei. Auch hier hätte ich es praktisch gefunden, keinen Schlüssel zu benötigen. Dann habe ich mir gedacht, ich hacke schnell eine kleine App, mit der ich die benötigten Befehle über HTTPS direkt über die Uhr senden kann. Schlussendlich habe ich mir gedacht: Mach es gleich ordentlich und universell. In der App können jetzt beliebig viele Buttons definiert werden, die beliebig viele Befehle über HTTPS ausführen können. Ich brauche bei mir ja zwei Befehle für einen Button: einen für den Hauseingang und einen für den Wohnungseingang. Natürlich kann man alle HTTP-Verben verwenden und eigene Header-Werte definieren. Das benötigt man beispielsweise für die Tedee-API. Ich habe die App dann auch gleich im Play Store veröffentlicht: REstMote: https://play.google.com/store/apps/details?id=com.david.restmote Falls jemand genau das gleiche Problem hat und mit seiner Pixel Watch Befehle über HTTP abschicken muss ;-) Um die häufigsten Fragen zu beantworten: Was tust du bei einem Stromausfall???? Ich wohne in einem zivilisierten Gebiet und kann mich an keinen Stromausfall in dieser Wohnung erinnern. Falls es doch einmal passiert: Das Türschloss funktioniert mit einem Akku. ;-) Ansonsten habe ich für Notfälle einen Schlüssel versteckt. Ist das sicher? Ja: HTTPS plus Authentifizierungs-Token im Header.
:
Bearbeitet durch User
David schrieb: > HTTPS-Befehle Muss gestehen: Wenn jemand eine solche Terminologie gebraucht, erweckt das in mir die Befürchtung, dass derjenige nicht wirklich wusste, womit er da hantiert, und dass die Anwendung mit hoher Wahrscheinlichkeit vibrationscodiert ist – was auf einem Device, das Netzzugang hat und möglicherweise sicherheitsrelevante Aktionen ausführen kann (etwa remote Haustüren aufzuschließen), möglicherweise nicht die beste Idee ist.
glaub mir, ich habe ahnung davon. habe es aber editiert falls es dich zu sehr ablenkt.
David schrieb: > glaub mir, ich habe ahnung davon. Tut mir leid, aber nein: Keiner, der davon Ahnung hätte, würde es so nennen. Der würde konkret schreiben, was er macht. Oder eben die Überschrift des Subforums berücksichtigen: „Projekte bitte nur mit Code oder Schaltplan posten“ – dann kann jeder selbst nachschauen, was da genau passiert und wie es implementiert ist. Könntest du den Code bitte entsprechend verlinken? Ansonsten würde es ja eher wie billige Werbung aussehen, und das war doch bestimmt nicht deine Absicht?
:
Bearbeitet durch User
dann sag mir was du anders nennen willst wenn du so viel ahnung hast. hab den code noch nirgends veröffentlicht
David schrieb: > dann sag mir was du anders nennen willst wenn du so viel ahnung hast. Ich hätte es mehr im Detail erläutert – denn das ist der Zweck dieses Subforums. HTTP ist halt nur das Transportprotokoll, das von verschiedenen APIs genutzt wird. David schrieb: > hab den code noch nirgends veröffentlicht Aber warum dann der Thread in diesem Subforum, in dem der Beschreibung nach der Code von Projekten gezeigt werden soll?
:
Bearbeitet durch User
Jack V. schrieb: > Ich hätte es mehr im Detail erläutert – denn das ist der Zweck dieses > Subforums. HTTP ist halt nur das Transportprotokoll, das von > verschiedenen APIs genutzt wird. Eben alles, was über http erreichbar ist. Ein http request mit allen http verben und Header feldern kann frei definiert werden. Viele haben einen Raspberry Pi laufen mit einem http Server über dem Steuerungskommandos empfangen werden können. Ich habe es damit z.B. auch geschafft über ein Gateway am Raspi eine Tuya Lampe zu steuern. > David schrieb: >> hab den code noch nirgends veröffentlicht > > Aber warum dann der Thread in diesem Subforum, in dem der Beschreibung > nach der Code von Projekten gezeigt werden soll? Viele veröffentlichen keinen Code hier. Ich denke weniger dass der UI Code der App und die Dart api für http request so interessant ist. Aber viele in diesem Forum haben Projekte mit einem http interface. In diesem Forum verstehen die Leute den Zweck für so eine App am besten, nicht jeder weiß was http ist ;-)
David schrieb: > Viele veröffentlichen keinen Code hier. Eigentlich ist bei nahezu jedem hier vorgestellten Softwareprojekt der Code dabei. David schrieb: > Ich denke weniger dass der UI > Code der App und die Dart api für http request so interessant ist. Ist er. Und sei’s nur, um meine in der ersten Antwort thematisierten Befürchtungen auszuräumen. David schrieb: > In diesem > Forum verstehen die Leute den Zweck für so eine App am besten, nicht > jeder weiß was http ist ;-) Offensichtlich hast du dich im Forum geirrt, und wolltest eigentlich ganz woanders hin, etwa zu android-hilfe.de oder so? Hier sind sehr viele Leute, die sich teils sehr gut damit auskennen.
Finn R. schrieb: > Jack V. schrieb: >> David schrieb: >>> HTTPS-Befehle > > HTTP(S) ist ein Protokoll! ich les das nirgends. war schon lääääängst editiert vor deinem post ;-)
David schrieb: > ich les das nirgends. David schrieb: > Befehle über HTTPS … befiehlst du einem Webserver auch, dir die Seite zu geben? Oder fragst du vielleicht doch mittels HTTP-Request an? Wenngleich das wie Erbsenzählerei anmutet, ist das zumindest für mich ’n deutlicher Hinweis darauf, dass da was ohne Verständnis in der nötigen Tiefe erstellt wurde, wie’s heute halt in gewissen Kreisen üblich ist, und nicht zu selten zu richtigen Problemen bei den Anwendern führt. Der Code wäre geeignet, einerseits diese Befürchtungen auszuräumen, und andererseits der Idee dieses Subforums gerecht zu werden, sodass es nicht nur wie billige Werbung aussieht.
Jack V. schrieb: > David schrieb: >> Viele veröffentlichen keinen Code hier. > > Eigentlich ist bei nahezu jedem hier vorgestellten Softwareprojekt der > Code dabei. > Ich hab viele gefunden auch nur mit nützlichen Tools > > Ist er. Und sei’s nur, um meine in der ersten Antwort thematisierten > Befürchtungen auszuräumen. Es steht dir frei, nur Software auszuführen bei der du vorher den Sourcecode studiert hast und selbst kompiliert hast. Gibts ja mit Linux auch problemlos die Möglichkeit dazu. Manche finden es auch praktisch eine App einfach über den Play Store installieren zu können. > David schrieb: >> In diesem >> Forum verstehen die Leute den Zweck für so eine App am besten, nicht >> jeder weiß was http ist ;-) > > Offensichtlich hast du dich im Forum geirrt, und wolltest eigentlich > ganz woanders hin, etwa zu android-hilfe.de oder so? Hier sind sehr > viele Leute, die sich teils sehr gut damit auskennen. Ich kenne sonst kein deutschsprachiges Forum wo es so viel wie hier um Bastelprojekte geht. Die App ist für ein Bastelprojekt entstanden, das ist auch die Zielgruppe.
Jack V. schrieb: > David schrieb: >> ich les das nirgends. > > David schrieb: >> Befehle über HTTPS > … befiehlst du einem Webserver auch, dir die Seite zu geben? Oder fragst > du vielleicht doch mittels HTTP-Request an? > Du schickst Befehle an einen Server (schalte bitte das licht an), über das Transferprotokoll http. Aber ich würde vorschlagen das in Zukunft über chatgpt klären zu lassen, der erklärt das sehr ausführlich und vor allem sehr geduldig.
:
Bearbeitet durch User
Finn R. schrieb: > Sieht nach Schleichwerbung aus Im prinzip ja. Aber die app ist gratis und hat keine Werbung. Wird auch immer so bleiben.
David schrieb: > Manche finden es auch praktisch eine App einfach über den Play Store > installieren zu können. Ja, und da spricht auch nix gegen. Nur eben, dass dieses Forum als Werbeplattform dafür missbraucht wird, ist schlecht. David schrieb: > Ich kenne sonst kein deutschsprachiges Forum wo es so viel wie hier um > Bastelprojekte geht. Genau, Bastelprojekte – die Leute hier wollen sehen, wie die Dinge entstanden sind, um es gegebenenfalls nachzubasteln oder für sich anzupassen. „Ich hab da was gemacht, bei der Datenkrake dort könnt ihr das fertige Ding laden“ ist nicht der Sinn dieses Forums. Denn das ist schlicht plumpe Werbung. … und die Zeit, die du hier reinsteckst, um dein Vorgehen irgendwie zu rechtfertigen, statt einfach den Code zu zippen und hochzuladen, oder auf beispielsweise auf codeberg.org zu schieben und zu verlinken, zeigt deine Intention recht deutlich. Du willst die Reichweite des Forums nutzen, um dein Projekt zu promoten – nicht, um es technisch interessierten Usern (wie mir, denn mich interessiert, wie das Ding unter der Haube aussieht) hier im Detail vorzustellen.
:
Bearbeitet durch User
David schrieb: > Ich habe es damit z.B. auch > geschafft über ein Gateway am Raspi eine Tuya Lampe zu steuern. Toll! Was ist da jetzt Besonderes? Ich habe es geschafft über einen RasPi mehrere Kronleuchter zu steuern. Ein zweiter RasPi zeigt mir u.a. den Füllstand meiner Regentonnen über eine Webseite an. Ist das was Besonderes? Nein natürlich nicht, das ist lediglich eine von vielen Anwendungsmöglichkeiten eines RasPi mit einem HTTP/HTTPS-Server, etwas HTML und Java Script - mehr nicht. Natürlich muß man sich dazu mit der Thematik befassen, aber es ist eben auch kein Hexenwerk und schon gar nicht eine besondere Leistung.
:
Bearbeitet durch User
Hans schrieb: > David schrieb: >> Ich habe es damit z.B. auch >> geschafft über ein Gateway am Raspi eine Tuya Lampe zu steuern. > > Toll! Was ist da jetzt Besonderes? Ähm...Wer behauptet dass das was besonderes ist ? Ich habe ein Beispiel gegeben was die Motivation war diese App zu machen. Ich glaube du hast irgend was nicht verstanden
David schrieb: > Ähm...Wer behauptet dass das was besonderes ist ? Ich habe ein Beispiel > gegeben was die Motivation war diese App zu machen. Wenn man es so darstellt wie Du, dann erweckt das beim Leser den Eindruck als sei es was Besonderes (zumindest für Dich). Was hat die Ansteuerung einer Lampe mit der Motivation eine Türöffner App zu programmieren zu tun? Ja, da erschließt sich mir der Zusammenhang nicht wirklich. Hier muß ich dem Jack wirklich mal recht geben, Dein Post hier ist eigentlich völlig unnütz, weil man nicht sieht wie es gelöst wurde. Das man mit dem HTTP Protokoll Steurungsaufgaben erledigen kann dürfte jedem hier im Forum klar sein. Ebenso wie das prinzipiell funktioniert. Aber vielleicht ist ja die Pixelwatch was Besonderes, was ich allerdings nicht denke. Die benutzt am Ende, zumindest wenn das Ganzer über eine Website läuft, auch nur einen Browser und sendet einen Request an den Server. Und ja man kann es am Ende auch in eine eigene App packen die den HTTP-Request sendet. Ist aber auch kein besonderes Ereignis, zumindest dann nicht wenn man mit den dazu erforderlichen Programmierwerkzeugen umgehen kann. Was ist denn nun das Besondere an Deiner Lösung? Ich sehe da bisher nichts was von allgemeinem Interesse ist. Deine Arbeit in allen Ehren, aber für die Allgemeinheit bei dieser Darstellungsform leider völlig nutzlos. Selbst im Google Store hat sich für Deine App in 2 Monaten nur ein einziger User interessiert und die App geladen. Deshalb sieht das Ganze hier schon sehr nach Eigenwerbung aus. Du bist einfach nur sauer, weil keiner Deine Arbeit so richtig würdigt. Es gibt genug bewährte alternative Apps die das auch können. Deine App ist da leider nur eine Insellösung.
Jack V. schrieb: > … und die Zeit, die du hier reinsteckst, um dein Vorgehen irgendwie zu > rechtfertigen, statt einfach den Code zu zippen und hochzuladen, oder > auf beispielsweise auf codeberg.org zu schieben und zu verlinken, zeigt > deine Intention recht deutlich. Du willst die Reichweite des Forums > nutzen, um dein Projekt zu promoten – nicht, um es technisch > interessierten Usern (wie mir, denn mich interessiert, wie das Ding > unter der Haube aussieht) hier im Detail vorzustellen. Für mich war die Anwendung interessant und die Use Cases, der Code enthält für mich keine Rocket Science, ich denke man kann sich denken wie man mit einem UI Framework eine UI definiert und dann eben HTTPS requests damit abschickt. Um alle Zweifel auszuräumen und weils mittlerweile trotzdem mehr Arbeit ist zu argumentieren warum ichs nicht tue, anbei der Code gezipped ;-) Falls jemand meint eine grobes Sicherheitsproblem zu finden beim Abschicken eines Https requests: gerne her damit. Ansonsten bin ich aber an keinem code review interessiert warum z.B. eine Variable nicht exakt benannt ist was sie tut....
Hans schrieb: > David schrieb: >> Ähm...Wer behauptet dass das was besonderes ist ? Ich habe ein Beispiel >> gegeben was die Motivation war diese App zu machen. > Wenn man es so darstellt wie Du, dann erweckt das beim Leser den > Eindruck als sei es was Besonderes (zumindest für Dich). > Was hat die Ansteuerung einer Lampe mit der Motivation eine Türöffner > App zu programmieren zu tun? Ja, da erschließt sich mir der Zusammenhang > nicht wirklich. > > Hier muß ich dem Jack wirklich mal recht geben, Dein Post hier ist > eigentlich völlig unnütz, weil man nicht sieht wie es gelöst wurde. Das > man mit dem HTTP Protokoll Steurungsaufgaben erledigen kann dürfte jedem > hier im Forum klar sein. Ebenso wie das prinzipiell funktioniert. > ...... Ich möchte da jetzt nicht genauer eingehen, ist mir zu mühsam. Für mich ist das Besondere dass ich ohne Handy joggen gehen kann :-)
David schrieb: > anbei der Code gezipped Danke. Da hätte ich ’ne Frage zu: Ist es bei Dart üblich, die Programmlogik in einem dem Namen nach als Konfigurationsdatei gedachten File (›/lib/src/models/app_config.dart‹) unterzubringen? David schrieb: > warum z.B. > eine Variable nicht exakt benannt ist was sie tut. Weil’s Claude halt so ausgespuckt hat, und du nie in den Code geschaut hast?
Jack V. schrieb: > David schrieb: >> anbei der Code gezipped > > Danke. Da hätte ich ’ne Frage zu: Ist es bei Dart üblich, die > Programmlogik in einem dem Namen nach als Konfigurationsdatei gedachten > File (›/lib/src/models/app_config.dart‹) unterzubringen? app_config.dart ist keine konfigurationsdatei, sondern das datenmodell für die konfiguration. diese ist als json gespeichert. werte der klasse werden aufgrund des jsons geladen und umgekehrt wieder gespeichert. David schrieb: >> warum z.B. >> eine Variable nicht exakt benannt ist was sie tut. >Weil’s Claude halt so ausgespuckt hat, und du nie in den Code geschaut >hast? Seit Opus 4.8 macht claude super richtige variablen namen ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
