Action: URL Aufruf an meinen externen Service mit einer "dynamischen" Teilinformation aus "config"

VPN/Proxy erkannt

Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.

  • Hallo,

    ich hatte mir jüngst einen Shelly Plus 1 mit dem Shelly Addon zugelegt, um Temperaturdaten an einen kleinen geschriebenen Dienst zu senden, die dort weiter verarbeitet werden. Da der Shelly anbietet, bei einer Temperaturänderung eine URL aufzurufen, hab ich mir diesen Teil genauer angeschaut. Laut der Web UI gibt es als verfügbare Tokens:

    • $temperature
    • $temperatureF

    Da ich an dem Addon zwei Temperatursensoren angeschlossen habe (Innen + Außentemp.), benötige ich zwecks Zuordnung weitere Informationen dazu. Da habe ich in der Doku gefunden, dass man folgende Daten ebenfalls zur Verfügung hat:

    • info
    • config
    • status
    • event

    Das Event Objekt beinhaltet gut nutzbare Daten. Neben der Temperatur wird ebenfalls die component, id aber auch der Zeitstempel der Messaufnahme bereitgestellt. Ein Beispieldatensatz:

    Code
    {"component":"temperature:101","id":101,"event":"temperature_measurement","tC":7.9,"tF":46.2,"ts":1703800945.41000008583}

    Wenn ich in naher Zukunft weitere Shellies mit Temperaturfühlern nutzen möchte, ist die ID bzw. der Komponentenname nicht eindeutig, da diese in den anderen Shellies sehr wahrscheinlich ebenso genutzt werden. Mein Ziel ist, dass der zugehörige Name zur Id mit beim URL Aufruf übertragen wird.

    Bei den oben genannten Informationen wird der Name bei der "config" bereitgestellt (Ausschnitt):

    Die Config-Dateninstanz ist etwas größer, so dass ich hier lediglich nur den relevanten Namen mit übergeben möchte.

    Meine aktuelle URL bei einer konkreten Action (z.B. Außentemperaturänderung):

    Code
    http://myservice.de:1234/api/data/reception/temperature?event=${event}&component=${config.temperature:101.name}&deviceId=${info.id}

    Ich übergebe hier als Query-Param einmal das komplette event und am Ende aus der Info nur die Id, welche ich über einen Ausdruck erreichen kann. Das funktioniert auch wunderbar und diese Daten erreichen auch meinen Service. Lediglich der "component=${config.temperature:100.name}" kommt nicht an, bzw. ein Leerstring.

    Ich vermute, dass es durch die "dynamische" Angabe temperature:101 nicht aufgelöst werden kann. Hat trotzdem jemand eine Idee, wie man den Namen, der über die WebUI vergeben wurde, auslesen/mitgeben kann?

    Besten Dank schon einmal.

    Viele Grüße

    Christian

  • Interessante Möglichkeit. Das wäre dann eine Möglichkeit mir bestimmte Daten vom Shelly direkt in eine Variable in der Homematic zu schicken, ohne diese ständig abfragen zu müssen.

    Mit besten Grüßen

    Martin

    Falls sich Jemand von mir persönlich angegriffen fühlt, dann bitte ich um eine kurze Info. Es lässt sich alles klären. Ich bin, wie ich bin.

    Einen 3EM kann man übrigens in 1728 Varianten falsch einbauen und verdrahten .Es sind mittlerweile weitere Möglichkeiten dazu gekommen.

    In den meisten Einbauanleitungen sind die Wandler in der falschen Richtung eingezeichnet. Letzteres gilt nur für den alten 3EM.

  • Daten vom Shelly direkt in eine Variable in der Homematic zu schicken

    Gast10
    23. März 2023 um 08:03
  • Wollte ja nur sehen, ob Du Dich noch dran erinnern kannst. :)

    Nein, ich kannte bisher nur Deine Homematicscripte. Muß ich doch mal wieder reinschauen.

    Manchmal braucht man einfach nur einen Wert für irgend eine Shellyfremde Funktion. Da reicht mir dann diese kurze Variante.

    Ist doch z.B. gut dafür, um einfach nur zu sehen, ob er noch lebt und arbeitet.

    Mit besten Grüßen

    Martin

    Falls sich Jemand von mir persönlich angegriffen fühlt, dann bitte ich um eine kurze Info. Es lässt sich alles klären. Ich bin, wie ich bin.

    Einen 3EM kann man übrigens in 1728 Varianten falsch einbauen und verdrahten .Es sind mittlerweile weitere Möglichkeiten dazu gekommen.

    In den meisten Einbauanleitungen sind die Wandler in der falschen Richtung eingezeichnet. Letzteres gilt nur für den alten 3EM.