Beiträge von bulldozer90

    SebMai ich versuche gerade noch eine if Abfrage mit einzubauen um je nach Zustand einen anderen Text auszugeben. Kann es sein dass man einen showDialog nicht in eine Bedingung einbauen kann?

    erhalte den Fehler: JavaScript Fehler (auf Zeile 3): Assingment to constant variable.

    Code
    const ext_switch = JSON.parse(response.body).data.device_status['input:0'].state
    
    if (ext_switch = true) {
    showDialog('Das Tor ist geschlossen!')
    }
    else {
    showDialog('Das Tor ist offen! Achtung!')
    }

    Hallo SebMai vielen Dank für deine Antwort, das hilft mir den Aufbau (wohl Schrittweise durch . getrennt) des JSON Parse zu verstehen.

    Jedoch ist das untere Script welches wohl für den Shelly 1 Plus aufgrund input:0 gedacht ist weiterhin fehlerhaft.

    Ich habe das Skript bei der Statusabfrage unter "Scripting" mit eingetragen, es folgt der angehängte Fehler. Hast du noch eine Idee?

    1.jpg

    2.jpg

    3.jpg

    EDIT: das Problem scheint der : im Skript zu sein. Aber auch in "", ' ' , < > gefasst klappts nich, da bemeckert er den string:

    Code
    JSON.parse(response.body).data.device_status."input:0".state

    Guten Morgen Deti_Hkln danke für deine Antwort!

    Den Device Status frage ich mit folgender cURL ab:

    Code
    curl -X POST https://shelly-XX-eu.shelly.cloud/device/status -d "id=<ID-VOM-SHELLY>&auth_key=<MEIN-AUTH-KEY>"

    und erhalte folgende Ausgabe:


    diesen Teil bräuchte ich über die Cloud-URL "http://192.x.y.z/rpc/input.getstatus?id=0" bin mir aber nicht sicher ob das klappt da id=0 in der Ausgabe vom Status recht häufig vorkommt.

    Danke und viele Grüße

    Hallo zusammen,

    ich bin Shelly Neuling und befasse mit seit kurzem durch Eure Tipps mit der HTTP Shortcut App. Ich würde gerne einen cURL - Button erstellen, der mir den Zustand des SW vom Shelly 1 Plus ausgibt.

    Eine grundlegende Status-Abfrage über cURL habe ich hinbekommen, liefert auch alle Werte. Der SW Wert wird in der Status-Abfrage folgendermaßen erwähnt und ändert sich bei Betätigung.

    Code
     "input:0": {
            "id": 0,
            "state": false

    SW ein:

    Code
     "input:0": {
            "id": 0,
            "state": true

    Soweit so gut, damit sollte man Arbeiten können. Allerdings würde ich das gerne in einer einfachen Shortcut-Abfrage mit Ausgabe des Wertes weiter verwenden.

    Kann mir bitte jemand einen kurzen Tipp geben wie ich hier weiter vorgehen muss?

    Ich vermute hier wird ein Skript nötig sein in Richtung "WENN input state = true; DANN Ausgabe: Schalter ausgelöst; SONST Ausgabe: Schalter offen"

    Danke und viele Grüße


    EDIT:

    abgekupfert aus diesem Thema:

    SebMai
    18. Dezember 2020 um 19:14

    habe mich am Java Skript versucht, klappt noch nicht... ist denn "input:0" die Richtige Variablen Bezeichnung oder benötige ich in diesem Fall nur "input"

    Code
    const "input:0" = 
    JSON.parse(response.body)."Input:0".Input;
    
    showDialog(''+"input:0"+'Zustand')

    Danke für den Hinweis, das werde ich mir ansehen.

    Erfordert voraussichtlich ebenso VPN für unterwegs.

    Edit: Deti_Hkln das ist genau das richtige, vielen Dank für den Tipp. Im WLAN klappts schon mal wunderbar, auch die "Einfache Bestätigung" ist perfekt.

    EDIT2: man kann die Geräte scheinbar über den Cloud Auth. Schlüssel und Server per https URL anprechen.

    Getting Started | Shelly Technical Documentation
    Introduction
    shelly-api-docs.shelly.cloud
    Communication | Shelly Technical Documentation
    For calling a device you need the device_id for that device. It is available
    shelly-api-docs.shelly.cloud

    War mir noch nicht bekannt.


    Grüße bulldozer

    Hallo zusammen,

    ich steige gerade komplett von Gosund EP2 in Verbindung mit SmartLife App um auf komplett Shelly weil mir die App hier mehr zusagt, besonders die ganze Strommessung/Verbraucher mit 3UM usw. sehr praktisch und interessant ist.

    Die Umstellung der Plugs ist kein Problem, Shelly 1 Plus für Garage auch nicht (230V Schalter für Zustandsanzeige liegt parat)

    Das einzige was mir nicht gefällt ist, wenn man bei Android 14 (Google Pixel 7a) der Widget Button zum Schalten der Aktion direkt "scharf" auf dem Display liegt und nur einen (möglicherweise unbeabsichtigten) Klick/Tipp benötigt um die Schaltung/Aktion auszulösen.

    Plan B (und VPN abhängige Lösung) wäre über die IP des Shelly einen Chrome-Shortcut zum Webinterface auf den Startbildschirm zu legen.

    Ich hoffe ich konnte mein Problem nachvollziehbar beschreiben, mir fehlt "vor durchführen der Aktion" ein 2. Klick / Ebene zur Vergewisserung. Sonst ist schnell mal was geschaltet was nicht beabsichtigt war.

    In der SmartLife App erstellt man eine Verknüpfung auf den Startbildschirm, mit Klick auf die Verknüpfung startet man erst in die spezielle "Tor-Ansicht" und löst dort mit einem Button aus.

    Vielleicht hat ja jemand eine Lösung parat?

    Grüße dozer