Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Surveillance Station Home Mode steuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Surveillance Station Home Mode steuern

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

      Baue doch mal ein paar logging Bausteine vor die Einzelnen sachen um zu sehen was ausgeführt wird.

      1 Reply Last reply Reply Quote 0
      • M
        MKaiser96 last edited by

        Wie genau meinst du das? Wo finde ich die Logging-Bausteine?

        Ich habe textweise E-Mail-Bausteine eingefügt, um zu sehen, ob die einzelnen Bedingungen abgearbeitet werden. Dies funktioniert. Es scheint also ein Problem mit den http-URL zu geben.

        Hier nochmal die http-Befehle:

        http://IP:PORT/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=BENUTZERNAME&passwd=PASSWORT&session=SurveillanceStation&format=sid
        http://IP:PORT/webapi/entry.cgi?api=SYNO.SurveillanceStation.HomeMode&version=1&method=Switch&on=true
        http://IP:PORT/webapi/entry.cgi?api=SYNO.SurveillanceStation.HomeMode&version=1&method=Switch&on=false
        http://IP:PORT/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=3
        
        
        1 Reply Last reply Reply Quote 0
        • M
          mariohbs last edited by

          Die Bausteine findest du unter System und dort "debug output". Diese kannst du an verschiedenen Stellen einfügen und siehst dann im Log ob das Script überhaupt gelaufen ist und welche Punkte durchlaufen wurden.

          Was mir bei deinem Blockly auffällt ist der zeitliche Ablauf. Ich habe zwar mit dem "requests" Baustein noch nichts gemacht, vermute aber mal, dass wenn es ohne "mit Ergebnissen" ausgeführt wird einfach nur die Befehle abschießt und nicht auf ein Ergebnis wartet. Damit würden nach meinem Verständnis die Befehle nahezu gleichzeitig gesendet.

          Ich würde also mal den Haken "mit Ergebnissen" setzten, ein paar Debug Bausteine einfügen und mal schaun was dann so passiert 😉

          Gruß

          Mario

          1 Reply Last reply Reply Quote 0
          • M
            MKaiser96 last edited by

            Das Script an sich wird richtig abgearbeitet. Als Alternative zum Debug habe ich E-Mail-Blöcke eingebaut, um zu sehen, ob die Bedingungen richtig verarbeitet werden. Auch mit dem Haken "mit Ergebnissen" erhalte ich keine Schaltung des Home Modes an der Surveillance Station. Also scheint ein Problem mit dem Senden des HTTP-Befehls vorzuliegen.

            Gibt es denn noch andere Möglichkeiten, über Blockly HTTP-Befehle zu senden? Es gibt Request und Exec. Was sind hier die Unterschiede? Alternativ könnte man auch JavaScript-Bausteine einfügen. Allerdings habe ich von JavaScript keine Ahnung.

            Ich wäre um eure Mithilfe sehr dankbar.

            Gruß

            Markus

            1 Reply Last reply Reply Quote 0
            • M
              MKaiser96 last edited by

              Ich habe es nun geschafft, eine Information zum Request auszugeben.

              7256_iobroker.jpg

              Jetzt kann man das Problem weiter eingrenzen. Das Einloggen funktioniert problemlos, ebenso das Ausloggen. Testweise habe ich anstatt des Schaltens des Home Modes die GetInfo-Anweisung genommen. Als Ergebnis der Error Code 119 geschmissen. Leider finde ich nirgens die Erklärung des Fehlers.

              Kann mir da jemand weiterhelfen? Kann es unter Umständen daran liegen, dass in unterschiedlichen Ebenen aufgerufen werden, sodass beim GetInfo-Befehl der Login "vergessen" wurde? Als Alternative könnte man doch sicher auch eine JavaScript Funktion schreiben und als Block einfügen, doch leider müsste mir da jemand helfen, da ich keine Ahnung von JavaScript-Programmierung habe.

              1 Reply Last reply Reply Quote 0
              • wendy2702
                wendy2702 last edited by

                Hast du die Befehle mal nacheinander im Browser eingegeben um zu sehen ob die da funktionieren?

                Kann es eventuell auch sein das ein Timeout zwischen Login und nächstem Befehl benötigt wird?

                1 Reply Last reply Reply Quote 0
                • M
                  MKaiser96 last edited by

                  Ich habe alle Befehle händisch im Browser ausprobiert und da funktionieren sie so, wie sie sollen. Es spielt auch keine Rolle, wieviel Zeit zwischen den Befehlsausführungen vergeht. Allerdings habe ich gesehen, dass eine SID ausgegeben wird. In einem anderen Thema habe ich gesehen, dass diese ausgelesen wurde und zusätzlich an die Befehls mit &sid="SID" angehangen wurde. Kann es sein, dass dies eine Art Sitzungszugang ist, der bei Geräten wie beim RasPi erforderlich ist?

                  Kann mir dann bitte jemand (einfach und verständlich) erklären, wie ich die SID aus der Rückgabe erxtrahiere und dem Befehlslink anfüge? Das wäre die einzige Möglichkeit die mir noch in den Sinn kommt.

                  1 Reply Last reply Reply Quote 0
                  • M
                    MueThoS last edited by

                    Ich bin da nicht so firm aber ich könnte mir vor stellen das die Session verloren geht.

                    Jeder Block macht sozusagen einen neuen Browser auf und sendet seinen request.

                    Also "Browser auf" - Anmelden - "Browser zu"

                    "Browser auf" - Befehl senden - "Browser zu"

                    Und so ist beim zweiten aufruf kein Login erfolgt. Das war sozusagen jemand anders.

                    Kann aber auch sein das dem nicht so ist.

                    1 Reply Last reply Reply Quote 0
                    • M
                      MKaiser96 last edited by

                      Ja, das ist auch meine Vermutung. Darum wird beim Login eine SID ausgegeben, welche ich dem Befehl anfügen möchte. Aber ich weiß nicht, wie ich das auf hinbekomme.

                      1 Reply Last reply Reply Quote 0
                      • D
                        dominik.braun82 last edited by

                        Hat jemand dazu eine Lösung.

                        Bin aktuell auch an dem Thema dran…

                        Wenn man einen Javascript ausführt mit dem entsprechenden Link wird es wohl auf das selbe Problem herauslaufen, oder?

                        Ich teste die Woche hier auch ein wenig weiter und melde mich, falls ich was hinbekomme.

                        1 Reply Last reply Reply Quote 0
                        • A
                          ak1 last edited by

                          An einer Lösung bin ich auch sehr interessiert!

                          Wenn jemand Erfolg damit hat, bitte hier beschreiben.

                          Ich habe ein Skript zum Schalten des Home Mode der Surveillance Station auf meiner CCU2 laufen, zumindest test-weise. Lieber hätte ich es aber auch auf dem ioBroker

                          Gruß

                          Stefan

                          1 Reply Last reply Reply Quote 0
                          • M
                            MKaiser96 last edited by

                            Hallo,

                            seit langem melde ich mich wieder. Mittlerweile habe ich das Problem gelöst. Beim Anmelden Anmelden wird eine SID generiert. Diese muss jedem Befehl angefügt werden.

                            7256_home_mode_steuern_blockly.png

                            URL für den Login:

                            http://<ip_des_nas>:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=<account>&passwd=<passwort>&session=SurveillanceStation&format=sid

                            URL zum Aktivieren:

                            http://<ip_des_nas>:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.HomeMode&version=1&method=Switch&on=true

                            URL zum Deaktivieren:

                            http://<ip_des_nas>:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.HomeMode&version=1&method=Switch&on=false

                            Ich hoffe, ich konnte euch helfen.</ip_des_nas></ip_des_nas></passwort></account></ip_des_nas>

                            1 Reply Last reply Reply Quote 0
                            • AlCalzone
                              AlCalzone Developer last edited by

                              Warum führst du die nachfolgenden Requests nicht innerhalb des Callbacks des ersten aus anstatt im Timeout? Was, wenn der erste länger dauert als 2s?

                              1 Reply Last reply Reply Quote 0
                              • M
                                MKaiser96 last edited by

                                Ich hatte da immer Probleme, dass er die SID noch nicht verarbeitet hat und so der Befehl nicht geschalten wurde.

                                1 Reply Last reply Reply Quote 0
                                • A
                                  ak1 last edited by

                                  Markus, herzlichen Dank für Dein Feedback! Das ist sehr hilfreich.

                                  @AlCalzone: Deine Rückfrage suggeriert, dass Du an einen optimierten Programmablauf denkst. Wie würde der aussehen?

                                  Gruß

                                  Stefan

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dominik.braun82 last edited by

                                    Hi.

                                    Ich bekomme es nicht hin…

                                    Siehe Bild anbei mit 2 Fragen...
                                    7511_2018-08-31_12h16_27.jpg

                                    Wäre echt dankbar über eine Info… 😢

                                    1 Reply Last reply Reply Quote 0
                                    • AlCalzone
                                      AlCalzone Developer last edited by

                                      @ak1:

                                      @AlCalzone: Deine Rückfrage suggeriert, dass Du an einen optimierten Programmablauf denkst. Wie würde der aussehen? `

                                      Quick'n'dirty in Photoshop:
                                      1097_home_mode_steuern_blockly.png
                                      Eben den zweiten Request direkt nach Beendigung des ersten.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        MKaiser96 last edited by

                                        SID und result sind neu erzeugte Variablen. Zu finden im Blockly und Variablen.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dominik.braun82 last edited by

                                          Hi. Danke für die Info, habe jetzt alles gefunden und so eingetippt.

                                          Anbei die Fehlermeldung….

                                          eine Idee was da noch falsch ist ?

                                          7511_2018-08-31_21h57_37.jpg

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User last edited by

                                            Hallo Zusammen,

                                            @ dominik.braun82… kann es sein das Du mit dem ersten Http Aufruf ein Sitzungsobjekt erzeugst (SessionID, Token oder was auch immer), welches Du dann in die folgenden Aufrufe übernehmen bzw. vereerben musst, um dann dann eine gewünschten Funktionen aufzurufen um an gewünschte Informationen zu kommen?

                                            Ich vermute hier mal, es handelt sich um Web Interface ob nun REST, SOAP oder was auch immer.... und Du setzt die Befehle zwar nacheinander auf, aber übernimmst die Ergebnisse oder wichtige Objekt nicht aus den vorherigen Aufrufen.....

                                            Beispiel:

                                            https://192.168.x.xxx/api/login?usernam ... d=12345678

                                            erzeugt einen Token mit dem Inhalt "8242E644EC6387EB68A2FFA7DEC1729"

                                            Dieses Objekt muss ich mir merken und im folgenden verwenden......

                                            Beispiel: Nächster Befehl soll mir Endkonten liefern....

                                            https://192.168.x.xxx/api/lora/packets? ... FA7DEC1729

                                            Das Sitzungsobjekt lebt nicht ewig, deswegen muss es erneuert werden, doch dazu braucht es noch mehr Info zu dem Dienst welchen Du verwendest...

                                            Herzliche Grüße

                                            Equilora aka Harald

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            951
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            50
                                            6242
                                            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