Statusabfrage von Shelly mit Tasker?

rtwl

rtwl

Dauergast
1.384
ich möchte von einem Shelly den aktuellen Zustand abrufen. Hab es auch geschafft, nur wollte ich fragen, ob das auch eleganter geht? Ziel ist es den im Spoiler rot markierten Wert in eine Variable zu setzen.


{"wifi_sta":{"connected":true,"ssid":"Wlanzuhause","ip":"192.168.0.60","rssi":-63},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"19:49","unixtime":1707158953,"serial":325,"has_update":true,"mac":"E89F6M867F1G","cfg_changed_cnt":0,"actions_stats":{"skipped":0},"relays":[{"ison":false,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"source":"http"}],"meters":[{"power":0.00,"is_valid":true}],"inputs":[{"input":1,"event":"","event_cnt":0}],"ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"update":{"status":"pending","has_update":true,"new_version":"20230913-112003/v1.14.0-gcb84623","old_version":"20221027-091427/v1.12.1-ga9117d3","beta_version":"20231107-162940/v1.14.1-rc1-g0617c15"},"ram_total":51688,"ram_free":39080,"fs_size":233681,"fs_free":150851,"uptime":4405756}
 

Anhänge

  • Screenshot_20240205-195449.png
    Screenshot_20240205-195449.png
    143,6 KB · Aufrufe: 30
Ja geht einfacher.
Deine Anfrage wird im JSON-Format ausgegeben. Tasker kann die Formate JSON, HTML/XML und CSV im Variablennamen auslesen [Structured Variables].
In deinem Beispiel wäre es direkt nach HTTP GET Popup-Benachrichtigung %HTTPD[ison]

Mehr zu den Structured Variables findest du in der Anleitung unter Variablen.
Tasker: Variables
 
  • Danke
Reaktionen: rtwl
Die Abfrage eines Shelly Plugs kann auch so aussehen. Man muss das Ergebnis nicht gross zerlegen, wenn ein/aus ausreicht, sondern kann ein Pattern abfragen.

Screenshot_20240205-210613-01.jpeg
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: rtwl
@Mathens
danke für die Info und die einfach Lösung 👍
jedoch muss man zuerst die %HTTPD in eine neue Variable schreiben damit es klappt.

A1: HTTP Get [
Server: Port: http://192.168.0.60/status
Timeout: 10 ]

A2: Popup-Benachrichtigung [
Text: %HTTPD.ison
sofort mit Task fortfahren: An
Dismiss On Click: An ]

A1: HTTP Get [
Server: Port: http://192.168.0.60/status
Timeout: 10 ]

A2: Variable Setzen [
Name: %http
Zu: %HTTPD
Structure Output (JSON, etc): An ]

A3: Popup-Benachrichtigung [
Text: %http.ison
sofort mit Task fortfahren: An
Dismiss On Click: An ]

Edit:
geht auch ohne Zwischenschritt, wenn man sie Aktion "HTTP Request" verwendet und nicht "HTTP Get". Und dann die Variable %http_data.ison
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: prx und Mathens

Ähnliche Themen

M
Antworten
23
Aufrufe
545
senior-ipaq
S
X
Antworten
0
Aufrufe
245
xyzUpdate
X
X
Antworten
4
Aufrufe
294
xyzUpdate
X
Zurück
Oben Unten