myStrom PIR-Sensor in Loxone einbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • harryb
    Smart Home'r
    • 05.11.2018
    • 55

    #1

    myStrom PIR-Sensor in Loxone einbinden

    mystrom Präsenzmelder für die Steckdose

    Hallo zusammen, ich probier grad wieder mal meine Fähigkeiten zu erweitern und bin auf der Suche nach einem passenden WLAN-Präsenzmelder auf den von myStrom gestoßen

    Hier mal der Link zum Produkt: https://mystrom.com/de/wifi-motion-sensor/

    Nach einer Darstellung im Internet lässt sich anscheinend die Rest-API so anpassen, dass nicht der Status des Präsenzmelders von Loxone abgefragt werden muss, sondern der Präsenzmelder einen http-Post an einen virtuellen Eingang von Loxone sendet. Das macht meiner Meinung nach bei einem Bewegungsmelder ja wesentlich mehr sinn.

    Hier der Link zum Internetbeitrag: https://technikblog.ch/2020/04/mystr...stemen-nutzen/

    Durch sehr viel hin-und-her-Probieren konnte ich zumindest schon mal rausfinden, dass ich den curl-Befehl in der Windows-Eingabeaufforderung eingeben muss.
    Der Befehl, den ich zusammengebastelt habe schaut momentan so aus:

    curl --location -g --request POST "http://<IP vom PIR>/api/v1/action/pir/rise" "<Lox-Benutzer:Lox-Passwort>@<Lox-IP>/dev/sps/io/VI72/on"
    --> wobei VI72 für den Virtuellen-Eingang in Loxone steht, den ich in der Config erstellt habe.

    Wenn ich den Befehl eingebe erhalte ich folgende Rückmeldung in der Win-Eingabeaufforderung:
    <?xml version="1.0" encoding="utf-8"?>
    <LL control="dev/sps/io/VI72/on" value="" Code="404"/>

    Der myStrom-PIR sendet dann offensichtlich nicht den Befehl an den Virtuellen-Eingang.
    Wenn ich den Befehl <Lox-Benutzer:Lox-Passort>@<Lox-IP>/dev/sps/io/VI72/on im Browser eingebe, kommt er aber beim Virtuellen-Eingang in der Config an, was ich über die Live-View beobachten kann. Der VI wir aktiv.
    Die Antwort im Browser ist dann:
    <LL control="dev/sps/io/VI72/on" value="1" Code="200"/>

    Kann mir ggf. jemand auf die Sprünge helfen, ob ich was falsch mache, oder was die Rückmeldung in der Win-Eingabeaufforderung bedeutet (Fehlermeldung ???). Da fehlt mir irgendwie das value="1" .

    VG
    HarryB
    Zuletzt geändert von harryb; 06.11.2021, 19:24.
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11234

    #2
    Ich hab technikblog jetzt nicht nachgelesen, aber dein curl-Befehl muss falsch sein.
    Du musst dem Pir die URL geben, die er aufrufen soll, dein Curl-Command muss also an den Pir gehen.
    Deine Antwort kommt aber vom Miniserver, Dh dein Curl geht an den falschen Empfänger.

    Wahrscheinlich steht im Blog die richtige Syntax, und du hast es nicht exakt gleich eingegeben.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • Christian Fenzl
      Lebende Foren Legende
      • 31.08.2015
      • 11234

      #3
      PS: Am besten schreibst du an den Autoren, weil ich sehe in seinem Beitrag nicht, was man machen soll. Sehr hilfreich ist der Artikel nicht, wenn’s kein Beispiel gibt.
      Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

      Kommentar

      • harryb
        Smart Home'r
        • 05.11.2018
        • 55

        #4
        Hallo Christian,
        ich geb Dir recht, ohne Beispiel ist der Beitrag nur eine Inspiration, nicht aber eine Lösung. Im Blog steht dazu leider nichts, nur dass es irgenwie geht.
        Den Autor hatte ich schon angeschrieben, aber der hat wohl aktuell sehr viel um die Ohren, weil er leider nicht geantwortet hat.

        Ich hab von Programmierung nur sehr sehr wenig Ahnung und versteh nicht wirklich, was ich da eingebe. Die meisten google-Suchergebnisse zu Curl sind dann auch noch in englisch, was auch nicht gerade meine Stärke ist. (Zu meiner Zeit hat man das in der Schule leider nur sehr oberflächlich gelernt.)
        Aber egal, irgendwie kommt man immer einen Schritt weiter. Mein Motto, "dranbleiben und ausporbieren"
        Was ich noch geschafft habe, bevor der gestrige Tag vorbei war ist das richtige Curl-Command zusammengebastelt.
        Da hab ich dann für jeden dens interessiert gleich zwei commands. Einer zum Einschalten des Virtuellen Eingang (VI und einer zum wieder Ausschalten, wenn der Bewegungssensor wieder abschaltet.

        curl -d "post://<Lox-Benutzer>:<Lox-Passwort>@<Lox-IP>/dev/sps/io/VI<Nummer des VI>/on" http://<myStrom-IP>/api/v1/action/pir/rise

        curl -d "post://<Lox-Benutzer>:<Lox-Passwort>@<Lox-IP>/dev/sps/io/VI<Nummer des VI>/off" http://<myStrom-IP>/api/v1/action/pir/fall

        die <>-Klammern stehen dabei natürlich nur als "Begrenzung" für den Platzhalter und sind nicht mit einzugeben.

        Das Ergebnis ist dann, dass der myStrom-PIR jeweils einen ON- oder OFF-Post per http an den Miniserver sendet.

        Jetzt hab ich dann aber noch ein (kleines) Problem. In der Standardeinstellung des myStrom-PIR fällt dieser nach erkannter Bewegung nach 10 Sekunden wieder in den Ruhezustand zurück.
        Die Funktion heißt bei maStrom "backoff-time".
        Als SET Post soll dieses command dienen:
        http://<myStrom-IP>/api/v1/settings/pir
        Als Example Request für Curl steht in der API: curl --location -g --request POST 'http://<myStrom-IP>/api/v1/settings/pir'

        Nachdem aber das Curl-Command für On und Off der Zusammenbau auch ganz anders aussieht, wie als ExampleRequest in der API steht, komme ich da jetzt aber gar nicht mehr weiter. Was bzw. wie muss nun das Curl-Command aussehen, wenn ich die Variable für "backoff-time" setzen will. Als Wert kann 1 - 84600 gesetzt werden. hm... aber wie??

        Kommentar

        • AlexAn
          Lebende Foren Legende
          • 25.08.2015
          • 4300

          #5
          technikblog ich glaub dein Typ ist gefragt
          Grüße Alex

          Kommentar

          • AlexAn
            Lebende Foren Legende
            • 25.08.2015
            • 4300

            #6
            Also ich verstehe das so dass man den PIR den Action per curl einmalig zusenden muss der dann in den virtuellen Eingang reinschreibt:

            Code:
            [FONT=Courier New][FONT=Courier][COLOR=#333333]curl -d "post://IPmyStrom/event/pir?id=1" http://[/COLOR][/FONT][FONT=Consolas][COLOR=black][URL="http://LoxUser:LoxPasswort@192.168.1.10/dev/sps/io/VI8/on"][FONT=inherit][COLOR=#2d53fe]LoxUser:LoxPasswort@[/COLOR][/FONT][FONT=inherit][COLOR=#2d53fe]IPMiniserver[/COLOR][/FONT][FONT=inherit][COLOR=#2d53fe]/dev/sps/io/VI8/on[/COLOR][/FONT][/URL][/COLOR][/FONT][/FONT]
            
            [FONT=Courier New][FONT=Courier][COLOR=#333333]curl -d "post://IPmyStrom/event/pir?id=0" http://[/COLOR][/FONT][FONT=Consolas][COLOR=black][URL="http://LoxUser:LoxPasswort@192.168.1.10/dev/sps/io/VI8/on"][FONT=inherit][COLOR=#2d53fe]LoxUser:LoxPasswort@[/COLOR][/FONT][FONT=inherit][COLOR=#2d53fe]IPMiniserver[/COLOR][/FONT][FONT=inherit][COLOR=#2d53fe]/dev/sps/io/VI8/o[/COLOR][/FONT][/URL]ff[/COLOR][/FONT][/FONT]
            das ID bzw. api/v1/action/pir/rise oder fall stört mich aber noch...
            Zuletzt geändert von AlexAn; 07.11.2021, 09:34.
            Grüße Alex

            Kommentar

            • harryb
              Smart Home'r
              • 05.11.2018
              • 55

              #7
              Hallo Alex,
              der Code, den ich im Beitrag #4 geschrieben habe funktioniert schon und sieht so aus:
              curl -d "post://LoxBenutzer:LoxPasswort@MiniserverIP/dev/sps/io/VI1/on" http://myStromIP/api/v1/action/pir/rise
              Damit postet der PIR
              an den Virtuellen Eingang 1 (VI1) einen on-Befehl

              Was ich nicht hinbekomme, is einen Parameter zu setzten.
              Ich möchte den Parameter für backoff_time, der standardmäßig auf 10 steht, auf 5 oder besser noch auf 1 setzen.
              ich hab schon verschiedene kombinationen versucht, die so oder so ähnlich ausgesehen haben:
              curl -d "backoff_time":5 http://mysStromIP/api/v1/settings/pir

              Aber genau das funktioniert nicht. Ich weiß einfach nicht, wie ich das curl-command für die Windows-Eingabeaufforderung zusammenbaut.

              Grüße HarryB
              Zuletzt geändert von harryb; 07.11.2021, 09:51.

              Kommentar

              • AlexAn
                Lebende Foren Legende
                • 25.08.2015
                • 4300

                #8
                Bist du sicher dass du nicht selber mit dem Curl in den virtuellen Eingang schreibst?
                Schreibt der PIR bereits selbstständig in den virtuellen Eingang?
                Zuletzt geändert von AlexAn; 07.11.2021, 09:40.
                Grüße Alex

                Kommentar

                • harryb
                  Smart Home'r
                  • 05.11.2018
                  • 55

                  #9
                  Der Funktionstest läuft erfolgreich.
                  Wenn der PIR Bewegung erkennt, wird der VI aktiv gesetzt und nachdem die Backoff-Time (10 Sec.) abgelaufen ist, fällt der VI wieder auf aus.
                  Der PIR sendet also sowohl ON als auch OFF.
                  Nur das mit dem Parameter setzen bekomm ich nicht hin.

                  Kommentar


                  • AlexAn
                    AlexAn kommentierte
                    Kommentar bearbeiten
                    stimmt mit der Bulb wird das auch so beschrieben - überzeugt
                • harryb
                  Smart Home'r
                  • 05.11.2018
                  • 55

                  #10
                  mir gings genauso wie Dir, in der API stehts - so seh ich das jedenfalls - ziemlich verwirrend drin. Zunächst hatte ich das command auch andersrum aufgebaut. Durch 1000faches Ausprobieren und ewiger Suche und dann eben mit dem Beispiel in der API bezüglich der Bulb bin ich dann fündig geworden und konnte erfolgreich das command zusammenbauen.
                  Leider steht in der API kein Beispiel wie man einen Parameter setzt. Da hab ich mittlerweile auch schon x-verschiedene Variationen durch, doch da komm ich nicht weiter.
                  Und die Google-Suche bringt mir dazu leider auch nichts passendes. Zumindest versteh ichs dann einfach nicht.

                  Kommentar

                  • AlexAn
                    Lebende Foren Legende
                    • 25.08.2015
                    • 4300

                    #11
                    probier mal:
                    http://IPmyStrom/api/v1/settings/pir/backoff_time=20

                    ah braucht einen json

                    http://IPmyStrom/api/v1/settings/pir {"backoff_time": 20}
                    Zuletzt geändert von AlexAn; 07.11.2021, 10:12.
                    Grüße Alex

                    Kommentar

                    • harryb
                      Smart Home'r
                      • 05.11.2018
                      • 55

                      #12
                      Die Eingabe soll wohl im Browser erfolgen - oder?
                      funktioniert leider nicht. Als Antwort erhalte ich "Seite nicht gefunden"

                      Kommentar

                      • harryb
                        Smart Home'r
                        • 05.11.2018
                        • 55

                        #13
                        der Abruf der Parameter im Browser sieht wie folgt aus:

                        als Ergebnis kommt dann z.B.

                        {"backoff_time":10,"led_enable":true}

                        Kommentar


                        • AlexAn
                          AlexAn kommentierte
                          Kommentar bearbeiten
                          damit rufst du die aktuellen Einstellungen ab
                          da ist aber keine Leerzeichen zwischen : und 10
                      • AlexAn
                        Lebende Foren Legende
                        • 25.08.2015
                        • 4300

                        #14

                        curl --location -g --request POST 'http://IPmyStrom/api/v1/settings/pir {"backoff_time": 20}'

                        Leerzeichen zwischen : und 20 ??
                        Zuletzt geändert von AlexAn; 07.11.2021, 10:20.
                        Grüße Alex

                        Kommentar

                        • harryb
                          Smart Home'r
                          • 05.11.2018
                          • 55

                          #15
                          leider nein

                          Kommentar


                          • AlexAn
                            AlexAn kommentierte
                            Kommentar bearbeiten
                            " auch schon probiert statt dem ´
                        Lädt...