Ergebnis von einem virtuellen Http Eingangsbefehl ermitteln

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Alex_D
    Extension Master
    • 24.11.2016
    • 146

    #1

    Ergebnis von einem virtuellen Http Eingangsbefehl ermitteln

    Hallo,

    ich möchte folgendes erreichen. Über einen Zeitschaltuhr in Loxone bekomme ich einen Impuls der folgendes bewerkstelligen soll.

    1: Schalte Subwoofer aus
    2: Wenn Receiver aus oder im Standby dann mache nichts weiter
    3: Schalte die Mainzone aus
    4: Schalte Zone 2 ein
    5: Schalte Eingangsquelle für Zone 2 auf die, die zuletzt in der Mainzone aktiv war

    Mein Problem wo ich gerade am rätseln bin, ist das auslesen der Eingangsquelle. Diese liegt als String vor, den ich auslesen muss. Dabei können Sachen wie hdmi1, Audio3, Bluetooth, amazon_music auftauchen. Also Strings mit unterschiedlicher Länge! Das Ergebnis schaut wie folgt aus


    {"response_code":0,"power":"standby","sleep":0,"vo lume":98,"mute":false,"max_volume":161,"input":"hd mi3","input_text":"PS4","distribution_enable":tru e ,"sound_program":"surr_decoder","surr_decoder_t ype ":"auto","pure_direct":false,"enhancer":true," tone _control":{"mode":"manual","bass":12,"treble":0}," dialogue_level":0,"dialogue_lift":0,"subwoofer_vol ume":0,"link_control":"standard","link_audio_dela y ":"balanced","disable_flags":0,"contents_displ ay": true,"actual_volume":{"mode":"db","value":-31.5,"unit":"dB"},"party_enable":false,"extra_bass ":true,"adaptive_drc":true,"dts_dialogue_contr ol": 0,"adaptive_dsp_level":true}

    Mein bisheriger Ansatz ist es 12 Befehle zu erstellen ( Max. Länge von amazon_music) und jedes Zeichen einzeln einlesen (Befehlserkennung input":"\sx\1 -> x steht für das Zeichen (1 -12)) und dann das Wort über mehrere Status Bausteine zusammensetzen und wenn ich auf ein " stosse dann keine Zeichen weiter hinzuzufügen. Würde denke ich mal klappen aber gibt es da nicht eine elegantere Lösung? In jedem Statusbausstein wären dann ja 2 x26 + " und _ = 54 Abfragen drinnen :/

    Ich hoffe ihr versteht was ich meinte und habt evtl. einen eleganteren Lösungsansatz :-)

    LG Alex
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6313

    #2
    In Loxone nicht. Nimm Dir einen Raspberry oder ähnlich, frage von dort den Status ab, filtere raus was Du willst und pushe das in einen virtuellen Textinput
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • Alex_D
      Extension Master
      • 24.11.2016
      • 146

      #3
      Hallo Svethi,

      danke für deine Antwort
      ich hab eine pi3 mit fhem und der ha bridge hier rumliegen. Aber damit kenn ich mich nicht wirklich aus

      Kommentar

    • Alex_D
      Extension Master
      • 24.11.2016
      • 146

      #4
      Hallo Tico,

      das hatte ich auch als Ansatz. Und dann halt immer 10 oder 20 Zeichen auslesen und den String dann bis zum komma zusammen basteln.

      ist aber sehr aufwendig und sicher nicht gerade ressourcenfreundlich. Werd es aber vorerst mal so umsetzten und schauen ob ich in FHEM was hinbekomme

      Kommentar

      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11234

        #5
        Auf einem LoxBerry mit MQTT Gateway Plugin bekommst du jedenfalls Out-of-the-Box das json zerlegt, true’s und false’s kommen als 0 und 1, und mit ein paar Conversions werden sogar die Texte zu Statuswerten.

        Lg, Christian
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Raspbi wollte er ja nicht
      • Alex_D
        Extension Master
        • 24.11.2016
        • 146

        #6
        Hallo,

        also abgeneigt bin ich nicht. Ich habe da nur leider keinerlei Erfahrungen. Aber ich habe es mal probiert. Das Resultat schicke ich als Anhang mit.
        Ich bin jetzt soweit das er die Anfrage raus sendet.
        Ich würde nun gerne die 3 folgenden Werte auslesen

        1: response_code
        2: power
        3: input

        Die Probleme die ich habe ist beim setzen der Regex:

        Beim Ergebnis vom response_code zeigt er mir unmatched an.
        Versuche ich als Regex \Power zu setzen, sagt er mir Invalid Syntax an. Deswegen habe ich dort vorerst zu Testzwecken \max_volume stehen, was er akzeptiert.

        Als Ergebnisse bekomme ich jedesmal eine 1, obwohl max_volume 90 sein müsste, response_code eine 0 und Input eigentlich hdmi 3.

        Weiss jemand den Syntax für Regex der 3 gewünschten Werte?

        LG Alex

        Angehängte Dateien

        Kommentar

        • svethi
          Lebende Foren Legende
          • 25.08.2015
          • 6313

          #7
          Hast Du denn jetzt einen Loxberry mit dem MQTT Gateway aufgesetzt? An das sendest Du einfach das JSON im Ganzen. Das MQTT Gateway dröselt das automatisch auf und sendet Dir die Werte alle einzeln. Da brauchst Du kein Regex und nichts
          Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

          Kommentar

          • Alex_D
            Extension Master
            • 24.11.2016
            • 146

            #8
            Hallo svethi,

            ich hatte nur ein rasperry pi 3 hier rumliegen. Dort hatte ich mal fhem und die ha bridge installiert. Ursprünglich um Alexa mit Loxone zu kombinieren, dazu noch eine Anwesenheit Erkennung mittels bluetooth (Gtag). Kann man mein Vorhaben nicht in FHem irgendwie lösen?

            Oder anders gefragt.wenn ich mir den loxberry und das plugin installiere, kann ich darüber auch eine Anwesendheitserkennung mittels bluetooth realisieren?

            LG
            Zuletzt geändert von Alex_D; 09.05.2021, 10:27.

            Kommentar

            • svethi
              Lebende Foren Legende
              • 25.08.2015
              • 6313

              #9
              Für FHEM musst Du dann wohl eher ins FHEM Forum gehen. Es gibt für den Loxberry ein FHEM-Plugin, oder eine Anleitung das auch auf dem LB laufen zu lassen. Ebenso gibts für den LB Plugins zur Anwesenheits Erkennung. Schau Dich um, such Dir das passende raus … it‘s your Choice
              Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

              Kommentar

              • Alex_D
                Extension Master
                • 24.11.2016
                • 146

                #10
                Hmmmm, ja ok. Dachte das der syntax von regex immer gleich ist und es jemamd zufällig weiss. Habe mir vorhons mal loxberry angeschaut. Also im Netz. Schaut sehr vielversprechend aus. Aber so wie ich es raus gelesen habe muss ich da erst ein Image auf die Speicherlarte laden und dazu bräuchte ich ein kartenleser, den ich nicht habe :/

                werd mir die Tage nun mal so ein Kartenleser kaufen und mich dann an loxberry machen.

                Kommentar


                • Christian Fenzl
                  Christian Fenzl kommentierte
                  Kommentar bearbeiten
                  Wie formatierst du eine Loxone SD-Karte?
                  Wenn du noch keinen Kartenleser hast, wird es eh höchste Zeit, sonst sitzt du im Dunklen, wenn deine Miniserver-Karte eingeht.
                  Ich habe einen Kartenslot im Laptop.
              • Alex_D
                Extension Master
                • 24.11.2016
                • 146

                #11
                Ich habe noch die orginale karte drinnen. Aber du hast schon recjt, ich sollte mir wenigstens mal eine Backup Karte incl. Kartenleser zulegen. Ein laptop hab ich nicht. Nur ein PC und ein Tablet. Muss mal schauen ob das Tablet eun Lesegerät hat.

                Ansonsten sehe ich das richtig. Ich lade das Image File? Extrahiere das und schiebe es auf die sd Karte. Danach Karte in den Pi stecken und einschalten. Danach sollte alles seinen Lauf nehmen?

                LG Alex

                Kommentar

                Lädt...