Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    UNSOLVED Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Lötauge last edited by

      Um testweise eine Shelly Scene aktiv/deaktiv zu steuern nutzte ich die Handy APP HTTP Shortcuts.
      Darin legte ich eine Post Anweisung an und trug die URL zum Shelly Server ein:
      https://shelly-XY-eu.shelly.cloud/scene/enable

      Dann trug ich unter Request Body 3 Parameter ein:
      auth_key = AABBCCDDEEFF11223344556677889900
      enabled = true/false
      id = 1231928374655 (Werte geändert)

      Nun möchte ich die Scene in Abhängigkeit eines Objektes steuern und wollte den Blockly Baustein HTTP(POST) verwenden.
      Ich muss feststellen, damit total überfahren zu sein.
      Würde gern das Bild des Editor zeigen, bekomme aber das Bild nicht hochgeladen,
      Meldung: Error Something went wrong while parsing server response erscheint.

      ![0_1727811387886_Screenshot 2024-10-01 212809.png](Uploading 100%)
      Es wurde ein "neues Objekt" mit drei Atributen ähnlich wie hier angelegt: https://forum.iobroker.net/assets/uploads/files/1710872692317-screenshot-2024-03-19-at-19.24.39.png
      hier mein Export, wo hab ich den Fehler gemacht?

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="http_post" id="8rP_hk11YG~`wGJq7{M)" x="313" y="13">
          <field name="TIMEOUT">2000</field>
          <field name="UNIT">ms</field>
          <field name="TYPE">text</field>
          <value name="URL">
            <shadow type="text" id="$^cUbWGmlogo:}^+|?0!">
              <field name="TEXT">https://shelly-XY-eu.shelly.cloud/scene/enable</field>
            </shadow>
          </value>
          <value name="DATA">
            <shadow type="logic_null" id="1*l,MjTd3+(Pj]w2_x|z"></shadow>
            <block type="object_new" id="o%]9)5r;xG9yg){?NLKk">
              <mutation xmlns="http://www.w3.org/1999/xhtml">
                <attribute id="ATTR_0" name="auth_key"></attribute>
                <attribute id="ATTR_1" name="enabled"></attribute>
                <attribute id="ATTR_2" name="id"></attribute>
              </mutation>
              <value name="ATTR_0">
                <shadow type="text" id="R+U#VASxwb,gS?a:4aHu">
                  <field name="TEXT">MWYyY2V1aWQBE18F17A0077D1234567890D4272748BA697A4B479D69794212AD901B73361D50987654321001E60</field>
                </shadow>
              </value>
              <value name="ATTR_1">
                <shadow type="text" id="5{#9@.J:5%3]%*dbwOGA">
                  <field name="TEXT">true</field>
                </shadow>
              </value>
              <value name="ATTR_2">
                <shadow type="text" id="+vzz:Pq:VYXy!r_`v@S6">
                  <field name="TEXT">1672512314345</field>
                </shadow>
              </value>
            </block>
          </value>
        </block>
      </xml>
      
      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • L
        Lötauge last edited by

        Screenshot 2024-10-02 060943.png

        Vermutlich habe ich mich der Lösung genähert aber noch nicht gefunden, auch so geht es nicht.

        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Lötauge last edited by

          @lötauge
          Hast Du das mal so versucht? (ungetestet - habe keine Shelly)

          8e2ace55-4ff0-4358-8d20-c4ccf9cec4da-image.png

          1 Reply Last reply Reply Quote 0
          • L
            Lötauge last edited by Lötauge

            so hab ich das auch mal probiert, auch das funktioniert nicht.
            Screenshot 2024-10-02 104355.png

            Info sagt:

            script.js.common.Thermostat_Steuern: httpPost(config={"method":"post","url":"https://shelly-12-eu.shelly.cloud/scene/enable","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"},"data":"{\"auth_key\":\"MWYyY2V1aWQBE18F17A0077D66112233445566778899007A4B479D69794212AD901B73361D5311E615549001E60\",\"enabled\":false,\"id\":1672502914345}"}, data={"auth_key":"MWYyY2V1aWQBE18F17A0077D66112233445566778899007A4B479D69794212AD901B73361D5311E615549001E60","enabled":false,"id":1671234567345})
            
            script.js.common.Thermostat_Steuern: httpPost(url=https://shelly-12-eu.shelly.cloud/scene/enable, responseTime=1638ms)
            

            Formatieren war deaktiviert (anders im Bild)

            Codierknecht 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Lötauge last edited by

              @lötauge
              Und was kommt zurück?

              a7b7ee86-4c1b-4271-a3c2-22edac8fb425-image.png

              1 Reply Last reply Reply Quote 0
              • L
                Lötauge last edited by

                zurück kommt:

                script.js.common.Thermostat_Steuern: {"isok":false,"errors":{"invalid_header":"Unauthorized! Wrong authorization header provided!","invalid_token":"The login information is invalid! Please login again!"}}
                

                Authorisierung ist mit der HTTP Shortcuts App auch nicht von nöten, das Format wird nicht passen.?

                Codierknecht haus-automatisierung 2 Replies Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @Lötauge last edited by

                  @lötauge sagte in Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern:

                  https://shelly-XY-eu.shelly.cloud/scene/enable

                  Hast Du mal ein Link zur Doku? Wo hast die Url her?
                  Hier habe ich gerade nix zu Szenen gefunden:

                  https://shelly-api-docs.shelly.cloud/cloud-control-api/communication

                  @codierknecht sagte in Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern:

                  Hast Du das mal so versucht? (ungetestet - habe keine Shelly)

                  Zu JSON konvertieren ist nicht nötig und passiert eh intern.

                  Codierknecht L 2 Replies Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @Lötauge last edited by

                    @lötauge sagte in Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern:

                    Authorisierung ist mit der HTTP Shortcuts App auch nicht von nöten

                    Offenbar schon

                    The login information is invalid! Please login again!
                    
                    1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @haus-automatisierung last edited by

                      @haus-automatisierung sagte in Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern:

                      Zu JSON konvertieren ist nicht nötig und passiert eh intern

                      Hatte ich auch noch im Kopf. War eher der Hosenträger zum Gürtel 😀

                      1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @Lötauge last edited by

                        @lötauge sagte in Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern:

                        Authorisierung ist mit der HTTP Shortcuts App auch nicht von nöten, das Format wird nicht passen.?

                        Das sieht für mich erstmal alles richtig aus. Nur die Uri mit scene/enable habe ich noch nie gesehen und in der Doku nicht gefunden. Ich denke daher Du suchst am falschen Ende.

                        Blockly sah von Anfang an erstmal richtig aus.

                        1 Reply Last reply Reply Quote 0
                        • L
                          Lötauge @haus-automatisierung last edited by Lötauge

                          @haus-automatisierung said in Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern:

                          Hast Du mal ein Link zur Doku? Wo hast die Url her?
                          Hier habe ich gerade nix zu Szenen gefunden:

                          Ehrlich gesagt ist die URL aus dem ehem. Shelly Forum (Name hat sich geändert) Es wurde auf Facebook gepostet und zum Forum getragen. Könnte hier ein Link posten fals erlaubt.
                          Ein Link zu einem PDF mit beschreibung zu Devices kann ich anbieten.

                          Ziel ist, ein Fenstersensor soll den Raumthermostat, der in der ShellyApp eingerichtet wurde, aktivieren/deaktivieren.
                          Das geht mit der weiter oben genannten App ohne Authentifizierung.

                          Ich könnte also näher auf die Quellen eingehen, aber die gehen ins Smarthome-Forum.
                          Der Button der gemeint ist, den möchte ich de-/aktiviere
                          Screenshot 2024-09-13 174625.png

                          Edit: Screenshoots der HTTP Shortcuts APP
                          Screenshot_20241002_121419_HTTP Shortcuts.jpg Screenshot_20241002_121424_HTTP Shortcuts.jpg Screenshot_20241002_121434_HTTP Shortcuts.jpg

                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @Lötauge last edited by haus-automatisierung

                            @lötauge sagte in Ich möchte Shelly Scene mit HTTP(POST) Baustein steuern:

                            Screenshot_20241002_121434_HTTP Shortcuts.jpg

                            Und das funktioniert so? "Form data" ist natürlich etwas anderes als hier gezeigt (und wie die API sonst arbeitet). Dann müsstest Du den Content-Type Header auf application/x-www-form-urlencoded setzen und die Daten anders übergeben. Das geht in Blockly aktuell nicht.

                            1 Reply Last reply Reply Quote 0
                            • L
                              Lötauge last edited by

                              Ja das funktioniert so mit der App, ich schalte so auch das Licht auf dem Grundstück aus dem Auto heraus ein. (device)
                              Ok, danke für die Antwort.
                              Also keine Lösung mit Blockly.
                              Die andere Bemerkung verstehe ich nicht.

                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @Lötauge last edited by

                                @lötauge Du kannst ja mal testen, ob der Header wirklich erforderlich ist. Eventuell wird der auf der anderen Seite gar nicht ausgewertet. Dann geht es ggf. auch mit Blockly.

                                Dann die Parameter wie GET-Parameter als String im POST übergeben. Also

                                auth_key=MWYyY2V1aWQBE18F1...&enabled=true&id=16725...

                                1 Reply Last reply Reply Quote 0
                                • L
                                  Lötauge last edited by

                                  So geht's tatsächlich 🙂

                                  Screenshot 2024-10-02 144809.png

                                  Zum Nachstellen:
                                  URL: https://shelly-XY-eu.shelly.cloud/scene/enable
                                  Daten im Textbaustein: & auth_key=MW....E60 & enabled=false & id=123456789012

                                  Wie man die Daten bekommt:
                                  Server URL und Auth-Key:
                                  In der Shelly Control App
                                  Einstellungen / Zugang und Berechtigung> Cloud Authorisierungs-Schlüssel > Schlüssel anfordern und notieren/kopieren

                                  Shelly Cloud-Scenen auflisten:

                                  https://shelly-xy-eu.shelly.cloud/scene/list?auth_key=xyz
                                  

                                  im Log die ID zur Scene finden.

                                  Die eine Scene abfragen (nice to have):

                                  https://shelly-xy-eu.shelly.cloud/scene/get&id=xyz&auth_key=xyz
                                  

                                  Scene steuern:

                                  https://shelly-xy-eu.shelly.cloud/scene/enable
                                  
                                  Body: 
                                  auth_key=ABC123...456DEF; 
                                  enabled=(true/false); 
                                  id=123...987
                                  

                                  Danke Euch sehr.

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  565
                                  Online

                                  31.6k
                                  Users

                                  79.5k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  15
                                  938
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo