REST API Widget über Tasker

Status
Dieses Thema wurde gelöst! Zur Lösung springen…
witnix

witnix

Ambitioniertes Mitglied
11
Hi Leute.

Hat jemand eine Idee, wie ich mir über Tasker ein Widget bauen kann, was sich in regelmäßigen Abständen (z.B. alle 5 Minuten) aktuallisiert, um Daten von einer REST API anzeigen zu lassen (falls es eine fertige App gibt, wäre das auch OK für mich).

Ich würde gerne ein paar Daten von meinem ioBroker auf meinem Homescreen darstellen lassen (aktuelle Temperatur in Räumen, anwesende Personen,...). Die API kann ich von überall erreichen.

Irgendwie fehlt mir eine gute Idee, wie ich starten kann.
Danke.
 
Empfohlene Antwort(en)
Eigentlich ja ganz einfach. Eigentlich...
zwar ohne widget, aber mit einer Szene ja problemlos umsetzbar. Ich denke man kann per http request die Daten vom iobroker abfragen wenn man sie braucht. Oder man schickt sie alle 5min vom iobroker ans Handy. Eine request url dafür kann man per Join App (tasker Entwickler) erstellen bzw empfangen und mit tasker verarbeiten.

hat man seine Werte vorhanden erstellt man sich eine Szene und lässt diese per shortcut am. Homescreen anzeigen.
im Prinzip dann wir eine eigene App. (weit hergeholt natürlich).
zusätzlich kann man mit einer tasker Aktion das Icon und auch die Bezeichnung des shortcuts ändern. So kann ein weißes rundes icon Standard sein. Orange und rot dann jeweils etwas besonderes. In der Bezeichnung auch die durchschnitts Temperatur des Untergeschoss beinhalten.
 
  • Danke
Reaktionen: witnix
Alle Antworten (13)
Ich bin nicht Tasker konform , da ich selbst entwickle und somit ihn nicht benötige.

Dennoch einige Eckpunkte :
a) Widgets haben Systembedingt eine Mindestlaufzeit von 30 Sekunden, es sei denn, sie werden extern von einem Foregroundservice oder einem Alarmmanger (o.Ä.) getriggert - Haut allerdings in den Stromverbrauch rein.
b) für deine REST-API Verbindung musst du zwingend Clear traffic benutzen, wenn kein ssl zertifikat im LAN vorliegt

Hier das gleiche Thema
ioBroker Smartphone Widgets? - Smart Home Community



P.S: bei der App scheint alles schon dabei zu sein
ioBroker Visu - Apps on Google Play
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: witnix
@swa00 Danke für die Infos. Die App ist mir bekannt, sie zeigt aber nur die ioBroker Visualisierung im Web an ("VIS"). Diese nutze ich nicht, da ich eine andere Darstellung (NodeRed Dashboard) nutze. Auch der verlinkte Beitrag bezieht sich auf VIS.

Meine Widget Anfrage war eher in die Richtung, ein paar Basiswerte als Übersicht auf dem Homescreen zu haben, ohne eine App / Webseite aufmachen zu müssen.

Bei den von dir genannten Einschränkungen überlege ich mal, ob ich lieber meinen Telegram Bot erweitere und mir auf Anfrage dort einen Statusbericht / Kurzübersicht senden lasse. Würde wahrscheinlich die meisten Anwendungsfälle auch abdecken.
 
Telegram : Wäre der schnellste und unkomplizierteste Weg :)
Oder du baust alles auf Homeassistant um - ich bin ioBroker nach ein paar Jahren abtrünnig geworden .

Es hat sich absolut gelohnt
 
@swa00 Ich bleibe bei ioBroker, bin eigentlich sehr zufrieden. Den nutze ich hauptsächlich zur Datenzusamenführung und mache die Logik quasi komplett in NodeRed. Das klappt für meine persönlichen Anforderungen sehr gut.

Und zurück zum Thema: sollte ich eine Lösung finden, werde ich sie hier noch posten (für zukünftige Personen, die das hier finden), momentan denke ich, dass ich eher mit der Telegram Lösung gehe
 
Eigentlich ja ganz einfach. Eigentlich...
zwar ohne widget, aber mit einer Szene ja problemlos umsetzbar. Ich denke man kann per http request die Daten vom iobroker abfragen wenn man sie braucht. Oder man schickt sie alle 5min vom iobroker ans Handy. Eine request url dafür kann man per Join App (tasker Entwickler) erstellen bzw empfangen und mit tasker verarbeiten.

hat man seine Werte vorhanden erstellt man sich eine Szene und lässt diese per shortcut am. Homescreen anzeigen.
im Prinzip dann wir eine eigene App. (weit hergeholt natürlich).
zusätzlich kann man mit einer tasker Aktion das Icon und auch die Bezeichnung des shortcuts ändern. So kann ein weißes rundes icon Standard sein. Orange und rot dann jeweils etwas besonderes. In der Bezeichnung auch die durchschnitts Temperatur des Untergeschoss beinhalten.
 
  • Danke
Reaktionen: witnix
@rtwl Ich glaube bei der notwendigen manuellen Interaktion mit der Szene werde ich bei meinem oben beschriebenen Telegram Ansatz bleiben (das nutze ich sowieso schon für diverse Abfragen). Klingt aber trotzdem nach einer validen Lösung meines Problems, daher markiere ich es für die anderen Mal als korrekte Antwort
 
witnix schrieb:
Hi Leute.

Hat jemand eine Idee, wie ich mir über Tasker ein Widget bauen kann, was sich in regelmäßigen Abständen (z.B. alle 5 Minuten) aktuallisiert, um Daten von einer REST API anzeigen zu lassen (falls es eine fertige App gibt, wäre das auch OK für mich).

Ich würde gerne ein paar Daten von meinem ioBroker auf meinem Homescreen darstellen lassen (aktuelle Temperatur in Räumen, anwesende Personen,...). Die API kann ich von überall erreichen.

Irgendwie fehlt mir eine gute Idee, wie ich starten kann.
Danke.
Genau das mache ich mit folgenden Apps:
Join (vom Tasker Autor) - Jedes mit gleichem Google Account angemeldete Join device kann Nachrichten an andere Devices schicken. Ein Tasker Profile kann die eingehenden Nachrichten verarbeiten und Daten an KWGT/KLWP senden.
KWGT bzw. KLWP (Kustom Widget Maker, Kustom Live Wallpaper). Unglaublich viele Möglichkeiten zum Erstellen von Widgets.

Vorgehen:
Join konfigurieren auf Handy und/oder Tablet.
Auf PC kann man Join auch nutzen (auf meinem Mac gibt es dafür eine App).
In der App erhält man dann einen Key.
In iobroker kann man Daten an Join (und somit das Handy/Tablet) schicken per HTTP Request.
Dafür braucht man den Join API Key und die Empfänger.
In Tasker ein Profil erstellen, dass auf neue Join Nachrichten reagiert (Event: JoinReceivedPush)
Die dann ausgeführte Task kann die Daten weiter verarbeiten und an das KWGT Widget schicken.
Ich habe mir ein grosses 1 Seitiges Widget erstellt, in dem ich Status der Alarmanlage, Standort meines Autos,
Temperaturen, und vieles mehr anzeigen lasse. Zudem ein popup Widget das mir Alarme und Warnungen anzeigt (dafür braucht man dann noch die App Overlays).
Weiterhin kann ich im Widget Änderungen vornehmen (z.B. Raumtemperatur) und bei Klick auf Save wird
ein Task Shortcut ausgeführt, der wiederum Daten an iobroker schickt, bzw. iobroker Objekte direkt ändert.
Dafür braucht es entweder ein VPN oder im meinem Fall schicke ich die Änderungen vom Handy an mein VIS Tablet per Join.
Das Tablet ist ja im selben WLAN wie iobroker; Tasker auf dem Tablet ändert dann die iobroker Objekte.

Vorteile:
Keine iobroker Cloud, kein Telegram, etc.
Super flexibel.
Schnell.

Nachteil:
Es braucht schon einiges an Einarbeitung und Konfiguration.
Die Interaktion Join-Tasker-Iobroker-KWGT braucht einige Übung und viel Testen.


Beispiel für HTTP Request erstellt in iobroker:

https://joinjoaomgcd.appspot.com/_ah/api/messaging/v1/sendPush?apikey=<MyApiKey>&deviceNames=MainPhone&title=PresenceUpdated&text=from=:=iobroker=:=PresenceUpdate=:=XzuHause
I
 
  • Danke
Reaktionen: rtwl
mbefore305 schrieb:
Die Interaktion Join-Tasker-Iobroker-KWGT braucht einige Übung und viel Testen
kann ich so bestätigen. Viel Arbeit, viel zum testen und üben. Wenn es aber läuft ist es ein gutes System. Ein Problem gibt es aber, zumindest für mich: wenn alles läuft und man 1,5 Jahre später was ändern muss/will fängt man gefühlt von vorne an mit den Überlegungen 😉
 
Ja, deshalb ist es wichtig, eine gute Struktur zu haben und die Logik zu Dokumentieren.
Im Code sowohl in Tasker als auch in iobroker.
Ich mache auch viele Screenshots von Settings und speichere diese in einem Dokument.
Das ganze Macht aber schon Spaß, manchmal etwad zu Zeitintensiv.
Belohnt wird man durch ein super System mit schier endlosen Mlglichkeiten.
 
  • Danke
Reaktionen: rtwl
@mbefore305
ich wäre an einem Screenshot von deinem widget interessiert, falls du es teilen willst.
bin auf der Suche nach Ideen bezüglich KWGT
 
Klar. Habe etwas geschwärzt, aber man sieht das Prinzip.
Die Farben ändern sich je nach Zustand.
Alles ist 1 Widget. Daten von Tasker an KWGT.
Bei Klick auf verschiedene Elemente öffnen sich App oder Aktionen werfen ausgeführt.
Z.B klick auf Location öffnet Google Maps mit Standort meines Autos.
Die anderen Screens öffnen sich über die unteren Buttons; klick toggelt sogenannte KWGT Global Switches (true/false)
und die Screens sind jeweils eine "Overlap Group" die man abhängig vom einen Global Switch zeigt oder nicht.
Denke, ich habe mittlerweile einige Übung mit KWGT. Für dieses Widget habe ich aber auch ein paar Stunden gebraucht
mit testen, anpassen, verbessern, etc.
 

Anhänge

  • 1705919121908.png
    1705919121908.png
    1 MB · Aufrufe: 32
  • 1705919199376.png
    1705919199376.png
    776,3 KB · Aufrufe: 35
  • Screenshot_20240122_112553_Nova7.jpg
    Screenshot_20240122_112553_Nova7.jpg
    158,4 KB · Aufrufe: 33
  • Screenshot_20240122_112558_Nova7.jpg
    Screenshot_20240122_112558_Nova7.jpg
    154,6 KB · Aufrufe: 35
Zuletzt bearbeitet:
Super danke.
du hast dir also mit KWGT deine kleine Visualisierung gemacht mit den wichtigsten Sachen. 👍
danke für die Inspiration 😊
 
Genau.
Hätte natürlich auch eine VIS für's Handy machen können. Die funktioniert dann aber nur über einen Browser (oder Fully) und braucht zwingend ein VPN.
Mit dem Widget bin ich aber auch ohne VPN per Join auf dem aktuellen Stand und kann mit Wischen auf dem Homescreen schnell zum Widget wechseln, ohne extra eine App zu starten.
Zudem habe ich noch ein 2tes sehr simples Widget das mir Warnungen anzeigt (Alarm, Wasser im Keller, Tür/Garage länger als 5 Minuten auf, Waschmaschine fertig, usw.).
Dieses Widget wird mit der App Overlays (das kann man natürlich mit Tasker steuern), sobald entsprechende Join Nachrichten eintrudeln.

Tipp zu KWGT: Möglichst viel Overlap und Stack Groups benutzen, allen Elementen Namen geben anhand derer man weiss
wofür es steht und von Anfang an globale Variablen verwenden für Breite, Höhe, Farbe, Schriftgröße, Fonts, usw.
Ich kann z.B. in dem Main Widget die Breite aller Rechtecke über eine globale Variable ändern, anstatt jedes Element einzeln.

Tasker/Join/Autowear, KWGT, Overlays. Das sind DIE Apps, die mich an Android binden.
Autowear, auch so ein geniales Teil. Selber Screens, Icons, etc. für Wear OS erstellen und dann Aktionen mit Tasker
ausführen. Z.B. 2 Klicks auf Uhr und die Garage geht auf.

Für Tasker/Join/Autowear und KWGT gibt es tolle Communities (Reddit) und reichlich Video Material (allerdings English).

Ich glaube man spürt meine Begeisterung. Wenn man nur mehr Zeit hätte :D
 
  • Danke
Reaktionen: rtwl
Status
Dieses Thema wurde gelöst! Zur Lösung springen…

Ähnliche Themen

X
Antworten
7
Aufrufe
870
xyzUpdate
X
T
Antworten
3
Aufrufe
321
torty85
T
E
Antworten
2
Aufrufe
332
mbefore305
M
Zurück
Oben Unten