Ankündigung

Einklappen
Keine Ankündigung bisher.

Unifi Protect mit HS per Logikbaustein

Einklappen
Dieser Beitrag wurde beantwortet.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS Unifi Protect mit HS per Logikbaustein

    Hallo zusammen.

    Hat schon jemand mal Unifi Protect mit dem Homeserver verbunden?

    Ich möchte per Webhook vom Homeserver Aktionen auf der Protect Seite auslösen.
    Das ganze sollte so aussehen:
    HTML-Code:
    curl -k -X GET 'https://YOUR_CONSOLE_IP/proxy/protect/integration/v1/meta/info'
    -H 'X-API-KEY: YOUR_API_KEY'
    -H 'Accept: application/json'
    Am einfachsten wäre es wahrscheinlich, einen Logik-Baustein zu erstellen.

    Daran habe ich mich mal versucht mittels Gemini versucht.

    HTML-Code:
    5000|"Netzwerk\UniFi Protect Webhook"|0|3|"E1 Trigger"|"E2 Webhook-URL"|"E3 API-Key"|1|"A1 Status / Fehlercode"
    
    5001|3|1|0|0|1
    
    5002|1|0
    5002|2|""|1
    5002|3|""|1
    
    5004|1|0|0|1
    
    5012|0|"EI==1 and EN[1]==1"|"int(__import__('commands').getoutput('curl -s -o /dev/null -w ' + chr(34) + '%{http_code}' + chr(34) + ' -k -X GET ' + chr(34) + str(EN[2]).strip() + chr(34) + ' -H ' + chr(34) + 'X-API-KEY: ' + str(EN[3]).strip() + chr(34) + ' -H ' + chr(34) + 'Accept: application/json' + chr(34)))"|""|1|0|0|1​​
    Egal, was ich mache, ich bekomme das nicht ans laufen.
    image.png

    Der Baustein lässt sich ohne Fehlermeldung vom Experten importieren, und auf der Debug-Seite gibt es in den Exeptions auch keine Fehlermeldungen. Jedoch startet der Trigger auf E1 das ganze nicht....
    Ich muss dazu sagen, das ich bisher nur vorhandene Bausteine abgeändert habe, und somit meinen Bedürfnissen angepasst habe.
    Ahnung was ich da tue habe ich nur begrenzt....

    Hat jemand eine Idee??
    Gruss
    Sven :-)
  • Als Antwort markiert von svenkonstanzer am Heute, 10:31.

    OK....ich habe es hinbekommen!
    Ich habe nochmal von vorne begonnen und dieses mal Gemini 3.6 Thinking verwendet. Das Model Gemini 3.6 Flash hat Unfug ausgegeben...

    Alle Testläufe haben hier jetzt mehrfach funktioniert!

    Hier der Code, falls jemand das mal braucht:

    HTML-Code:
    5000|"Netzwerk\UniFi Protect Webhook"|0|3|"E1 Trigger"|"E2 Webhook-URL / IP"|"E3 API-Key"|1|"A1 Statuscode"
    
    5001|3|1|0|0|0
    
    5002|1|0|0
    5002|2|"."|1
    5002|3|"."|1
    
    5004|1|0|0|1|0
    
    5012|0|"EN[1]==1"|"(lambda url, key: (lambda p: (lambda conn: (conn.request('POST', p.path or '/', headers={'X-API-KEY': key, 'Accept': 'application/json', 'Content-Type': 'application/json'}), conn.getresponse().status)[1])(__import__('httplib').HTTPSConnection(p.netloc or p.path.split('/')[0], context=__import__('ssl')._create_unverified_context(), timeout=3)))(__import__('urlparse').urlparse(url if url.startswith('http') else 'https://' + url)))(str(EN[2]).strip(), str(EN[3]).strip())"|""|1|0|0|0​
    Beschreibung:

    Eingang E1:
    • Triggert den Baustein mit "1"
    Eingang E2:
    • Triggerlink aus dem Alarm Manager von Unifi Protect
    Eingang E3:
    • API-Key aus Integrations in Unifi Protect


    Rückgabewerte an A1:
    • 200 No Content
    • 204 Der POST-Befehl wurde von UniFi erfolgreich ausgeführt.​
    • 400: Bad Request (z. B. wenn UniFi für diesen Endpunkt noch ein JSON-Datenpaket im Body erwartet).
    • 404 / 401: Pfad nicht gefunden oder API-Key ungültig.
    Zuletzt geändert von svenkonstanzer; Heute, 10:33. Grund: Tippfehler

    Kommentar


      #2
      In welchen Experten soll die Logik?
      Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

      Kommentar


        #3
        Arbeite aktuell mit dem 4.13
        Gruss
        Sven :-)

        Kommentar


          #4
          Mit EI==1 läuft der Baustein nur einmal bei der Initialisierung und zwar nur dann wenn an E1 eine 1 steht.
          Lass mal das "EI==1 and" weg, vielleicht klappts dann.
          Gruß
          Marc
          Gruß, Marc

          Kommentar


            #5
            Zitat von MarcNaroska Beitrag anzeigen
            Lass mal das "EI==1 and" weg,
            Marc
            Danke für die Anregung....klappt leider auch nicht :-(



            Gruss
            Sven :-)

            Kommentar


              #6
              OK....ich habe es hinbekommen!
              Ich habe nochmal von vorne begonnen und dieses mal Gemini 3.6 Thinking verwendet. Das Model Gemini 3.6 Flash hat Unfug ausgegeben...

              Alle Testläufe haben hier jetzt mehrfach funktioniert!

              Hier der Code, falls jemand das mal braucht:

              HTML-Code:
              5000|"Netzwerk\UniFi Protect Webhook"|0|3|"E1 Trigger"|"E2 Webhook-URL / IP"|"E3 API-Key"|1|"A1 Statuscode"
              
              5001|3|1|0|0|0
              
              5002|1|0|0
              5002|2|"."|1
              5002|3|"."|1
              
              5004|1|0|0|1|0
              
              5012|0|"EN[1]==1"|"(lambda url, key: (lambda p: (lambda conn: (conn.request('POST', p.path or '/', headers={'X-API-KEY': key, 'Accept': 'application/json', 'Content-Type': 'application/json'}), conn.getresponse().status)[1])(__import__('httplib').HTTPSConnection(p.netloc or p.path.split('/')[0], context=__import__('ssl')._create_unverified_context(), timeout=3)))(__import__('urlparse').urlparse(url if url.startswith('http') else 'https://' + url)))(str(EN[2]).strip(), str(EN[3]).strip())"|""|1|0|0|0​
              Beschreibung:

              Eingang E1:
              • Triggert den Baustein mit "1"
              Eingang E2:
              • Triggerlink aus dem Alarm Manager von Unifi Protect
              Eingang E3:
              • API-Key aus Integrations in Unifi Protect


              Rückgabewerte an A1:
              • 200 No Content
              • 204 Der POST-Befehl wurde von UniFi erfolgreich ausgeführt.​
              • 400: Bad Request (z. B. wenn UniFi für diesen Endpunkt noch ein JSON-Datenpaket im Body erwartet).
              • 404 / 401: Pfad nicht gefunden oder API-Key ungültig.
              Zuletzt geändert von svenkonstanzer; Heute, 10:33. Grund: Tippfehler
              Gruss
              Sven :-)

              Kommentar


                #7
                Darf ich fragen welche Funktion du umsetzen willst bzw. über den Homeserver steuern willst ?
                Ich habe mir die Api schon mal angesehen damals war aber wenig nützliches dabei.

                Grüße Georg

                Kommentar

                Lädt...
                X