Beiträge von akreienbring

    Hallo,

    wahrscheinlich ist das ein Feature Request. Zumindest habe ich nichts gefunden, was darauf hindeutet, dass es schon möglich ist.

    Ich hätte gerne die Möglichkeit Custom Widgets auf meinem Dashboard in der App zu plazieren. Dort sollen (beliebige) Informationen angezeigt werden, sie sich aus dem Smarthome System gewinnen lassen.

    Das ist bewußt sehr allgemein formuliert. Aber ein Anfang wären z.B. KVS Werte von einem Shelly, die dann im Idealfall noch visuell formatiert werden können. Bsp: ein KVS Wert von 1 wird als "XY ist aktiv" angezeigt.

    Es würde also ein KVS Wert per RPC Call von einem Gen2 Shelly abgerufen werden und im Widget visualisiert.

    Damit handelt es sich NICHT um Geräte und deren Status sondern letztlich um meine private Logik im SmartHome.

    Ich bin auf Feedback gespannt

    Zitat

    Im Moment bin ich noch geflashed von all den Möglichkeiten

    Ich bin ja auch noch relativ neu in dem Thema und fand es von Anfang an gut, dass ich mit Shelly viele Möglichkeiten habe meine Ziele zu erreichen:

    Szenen, Actions
    Quasi No-Code Automatisierung. Ich stöpsel mir verschiedene Komponenten zusammen und habe ein (halbwegs) smartes Home. Als HUB zwischen verschiedenen Systemen kann z.B. mit Alexa gearbeitet werden. Szenen sind allerdings abhängig von der Cloud.

    Scripte

    Eingeschränkt in Sachen Speicher und im Zweifel irgendwann absolut unübersichtlich. ABER: höchst individuell und funtioniert auch ohne Cloud.

    Übergeordnet (OpenHAB, Homeassistant, IOBroker u.a.)

    Ohne Cloud aber dafür mit riesen Communities zum eigenen SmartHome. Möglicherweise auch mit übergreifenden Standards und Protokollen (ZWave, ZigBee, Matter...) Aber definitiv eher was für Profis, was die Installation, den Betrieb und die Anwendung betrifft.

    Hallo, gibt es hier was Neues? Ich hab zwei Buttons. Beide eingebunden, und die "shelly-blue" Events werden mit Hilfe des Demo Scripts auch brav empfangen.

    Aber der Beacon Mode oder auch alle Versuche mit BLE Debug ein Pairing herzustellen, schlagen nun fehl. Ich drücke den Knopf die 10 verlangten Sekunden, nur damit danach das Ganze wieder von vorne anfängt. Soll heißen: Ich kriege das Pairing mit den Buttons nicht mehr hin. Übrigens klappt das auch nicht über die Shelly-Cloud App.

    Nur den, hier angegebenen, Hard-Reset hab ich noch nicht probiert. Wollte erstmal hören, ob evtl. ein allgemeines Problem vorliegt.

    Good Morning!

    Yes, that's what I did before I found the described solution. BUT:

    1. Alexa notifications from Shelly scenes are limited to 3 (with basic plan)
    2. Scenes can't handle dynamic information. They are preset and can't include dynamic information like e.g. a date or any other dynamic value. I wanted Shelly to speak whenever my script has some information for me. And a scene for every possible sentence is just... <X
    3. The "Alexa Says" action in the routine won't let you give Shelly her personal voice 8)

    ... with the help of Amazon Alexa.

    If you hate cloud based stuff, then stop reading :-)

    Challenge: I wanted to trigger (unlimited) Alexa routines from a Shelly Script. And especially I wanted Alexa (Shelly) to give spoken feedback.

    The solution I found is based on triggering Alex routines with a single HTTPS call. Somehow like described in this existing forum thread.

    The steps in short are:

    1. Install the 'TextVorlesen' Skill and let Alexa speak anything.

    - Go to https://esp8266-server.de/alexa/TextVorlesen/ to find out how to make Alexa speak your text. This includes installing the 'TextVorlesen' Skill.

    - Log on to Amazon on that site to get your personal API access HTTPS call. Now you're able to send any text to Alexa with that call.

    2. Automate the process of speaking your text

    - Normally you have to say "Alexa, Text vorlesen" to have your text spoken, but this can be automated by a second skill: Webhook Routine Trigger Skill

    - For this you first need to create triggers on this site: https://trigger.esp8266-server.de/

    - Every created trigger shows up under your Alexa Smarthome devices after searching for new ones (just like the limited Shelly Alexa notifications). These "virtual devices" can be "activated / pressed" by the trigger URL.

    - finally create a Alexa routine that is triggered by your new device and ultimately calls the "Text Vorlesen Skill".

    3. Use your trigger(s) in Shelly script to make Alexa / Shelly say something

    - Just like any normal HTTPS Call. Here's an example:

    Code
    Shelly.call('HTTP.GET',
      {url: 'https://trigger.esp8266-server.de/api/?id=4498&hash=[your-personal-hash]'}
    );

    Sounds complicated? Only on the first sight.

    Hint: Give your Shelly a personal sound by choosing an available voice in your language and using SSML commands 8)

    Hallo, nette Diskussion :-)

    Aber vielleicht kann mir jemand sagen, ob diese Art der Berechnung richtig ist. Es handelt sich ebenfalls um einen 1PM.

    Code
    nCurrentMW = event.delta.aenergy.by_minute[0];
    nCurrentW = nCurrentMW / 1000;
    nCurrentKW = nCurrentW / 1000;
    Code
    console.log('Current consumption ' + nCurrentMW + ' mw/m, ' + nCurrentW * 60 + ' w/h, ' + nCurrentKW * 60 + ' kw/h');

    Beispiel Output:

    Code
    Current consumption 225.842 mw/m, 13.55052 w/h, 0.01355052 kw/h

    Sieht jetzt für mich, anhand der angegebenen Verbrauchswerte des Geräts, erstmal richtig aus. Aber ich frage hier lieber mal nach... :-)

    Zitat

    "damit kommt der Shelly net zu recht"

    :-) Seltsam aber OK! However

    Bestpractice also bis hierhin:

    Nachdem ich jetzt beim inneren asynchronen Aufruf, entweder

    - keine Funktion

    Code
          Shelly.call("HTTP.GET",
            { url: "someOtherShellyURL"},
            null,  /function
            null  //userdata
          );

    oder

    - eine benannte Funktion

    Code
          Shelly.call("HTTP.GET",
            { url: "someOtherShellyURL"},
            someCallbackFunction
            null  //userdata
          );

    angegeben habe, kommt es nicht mehr zum spontanen Stop des Scripts. Danke!

    Hallo Shelly Fans,

    ich fange gerade erst mit dem Shelly Scripting an, bin aber schon länger mit Javascript vertraut.

    Asynchronität war noch nie mein Lieblingsthema, aber wie geht man im Shelly Script am Besten vor, wenn es verschachtelte Calls gibt?

    Mein Script, auf einem PlusI4 wird instabil (stoppt einfach ohne Fehlermeldung), wenn ich z.B. sowas mache:

    Die Idee ist natürlich asynchrone Aufrufe in eine Reihenfolge zu bringen. Dafür gibt es ja sonst Promises und ähnliche Konstrukte...

    Warum mag mein PlusI4 das nicht und reagiert dem unkommentierten Stop des Scriptes? Folgendes scheint weniger Probleme zu machen:

    Vielleicht gibt es also bei Variante eins auch Probleme mit den Scopes der Variablen (z.B. 'res') ...

    Bin gespannt, ob auch andere diese "Abbruch-Probleme" haben und wie man das am Besten macht.

    Supi! :-) Hier mal mein Code für andere, die evtl. das gleiche Problem haben:

    Code
    Shelly.call("HTTP.GET",
        { url: "http://[VintageIP]/light/0?status"},
        function (result, error_code, error_msg, ud) {
        let lightIsOn = false;
        if (result.code === 200) {
            let body = JSON.parse(result.body);
            lightIsOn = body.ison;
            console.log("lightIsOn= ", lightIsOn);
        ...

    Hallo,

    kann ich bei einer Vintage mit "http://[ipaddress]/rpc/Light.GetStatus?id=0" festellen, ob sie gerade angeschaltet ist? Lt. https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Light sollte das doch gehen, oder?

    Ich bekomme als Antwort allerdings nur ein "404 Not Found". Shelly.ListMethods liefert ebenfalls nichts. :-(

    Firmware ist jedenfalls aktuell. Und die HTTP Actions funktionieren auch.

    Schon jetzt vielen Dank für eure Hilfe.