Statusabfrage von Shelly mit Tasker?

  • 3 Antworten
  • Letztes Antwortdatum
rtwl

rtwl

Dauer-User
1.557
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: 92
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

S
Antworten
7
Aufrufe
289
senior-ipaq
S
Angelchc
Antworten
4
Aufrufe
177
Angelchc
Angelchc
coolzero3389
  • coolzero3389
Antworten
12
Aufrufe
339
coolzero3389
coolzero3389
Zurück
Oben Unten