Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Frigate Adapter für ioBroker

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Frigate Adapter für ioBroker

Frigate Adapter für ioBroker

Scheduled Pinned Locked Moved Tester
367 Posts 44 Posters 100.2k Views 43 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M MrHenker27

    @wal

    über die API bin ich schon "gestolpert"

    Über den Objektbaum habe ich schon mal die ID bekommen und kann dann das Bild laden.

    http:// <IP> :5000//api/events/ <iventID> /snapshot.jpg

    http:// <IP> :5000/api/Kamera_hinten/bird/snapshot.jpg

    Mal sehen was ich daraus morgen basteln kann. Dachte ich könnte das Objekt selber gleich senden, was in der DB abgelegt wird, aber schein echt nur über den Weg des Zwischenspeicherns zu gehen. Mit Javascript bin ich nicht so gut befreundet g

    M Offline
    M Offline
    MrHenker27
    wrote on last edited by
    #93

    okay ich bin heute zu .....

    in "mqtt.0.frigate.events" steht zwar die ID aber nicht mal die schaff ich grade zu exportieren in Blockly

    M WalW 2 Replies Last reply
    0
    • M MrHenker27

      okay ich bin heute zu .....

      in "mqtt.0.frigate.events" steht zwar die ID aber nicht mal die schaff ich grade zu exportieren in Blockly

      M Offline
      M Offline
      martinschm
      wrote on last edited by
      #94

      @mrhenker27

      kommt vor, manchmal hat man so Tage.

      Einfach diesen Block nehmen und dann dort einbauen wo du ihn brauchst.
      148034ab-f4b9-4ecb-8175-034f934d3fe3-image.png

      Kannst dort ein Objekt selektieren und dir den Wert ausgeben lassen und dann zB in einen Text einfügen.

      1 Reply Last reply
      0
      • M MrHenker27

        okay ich bin heute zu .....

        in "mqtt.0.frigate.events" steht zwar die ID aber nicht mal die schaff ich grade zu exportieren in Blockly

        WalW Online
        WalW Online
        Wal
        Developer
        wrote on last edited by
        #95

        @mrhenker27 ,
        ich habe auf Github ein Objekt "lastidurl" hinzugefügt, dort erscheint immer die Url vom letzten Event.
        Evtl. hilft es dir.

        Gruß
        Walter

        DoorIO-Adapter
        wioBrowser-Adapter und wioBrowser

        M 1 Reply Last reply
        0
        • WalW Wal

          @mrhenker27 ,
          ich habe auf Github ein Objekt "lastidurl" hinzugefügt, dort erscheint immer die Url vom letzten Event.
          Evtl. hilft es dir.

          M Offline
          M Offline
          MrHenker27
          wrote on last edited by
          #96

          @wal

          cool. Danke, schau ich mir an. Aber das sollte den ganzen Quatsch den ich da gebastelt habe überflüssig machen.

          Jetzt habe ich es grade SO gelöst:

          fe9b7f74-404d-471d-aa42-16d7074f96dd-image.png

          Das Problem ist das mein Proxmox Rechner im Garten steht samt Kameras und ich mal eben nicht so schnell den Trigger testen kann ^^

          der fehlende Text im Erstelle text ist: wget -O /opt/iobroker/tmp.jpg "http://192.168.177.240:5000/api/events/

          1 Reply Last reply
          0
          • WalW Wal

            @crunchip ,
            habe eine Lösung gefunden.
            Ich fange den Fehler ab und bringe im Log eine Meldung den MQTT Broker neu zu starten.
            Kannst du das mal testen ?
            Einmal Github bitte.

            crunchipC Away
            crunchipC Away
            crunchip
            Forum Testing Most Active
            wrote on last edited by
            #97

            @wal mal nur bedingt mit dem Adapter zu tun.

            Ich hab frigate auf unraid laufen, nun ist mir aufgefallen, wenn nachts das backup läuft und der Container währenddessen gestoppt wird, werden die Datenpunkte(speziell zum triggern einer Bewegung) anschiessend nicht mehr aktualisiert.
            Ist mir erst aufgefallen nachdem kein Bild gesendet wurde, als die Post da war.

            Ich muss dann mqtt und den Adapter neu starten, dann funktioniert es wieder, bis zum nachsten backup.

            Variante 1, ich lass beide Instanzen nach dem backup automatisch neu starten
            Variante 2, den container nicht zu stoppen während des backups.

            Vllt hast du diesbezüglich ja eine Idee

            Ps: iobroker läuft noch als VM auf nem anderen Rechner(Proxmox)

            umgestiegen von Proxmox auf Unraid

            WalW 1 Reply Last reply
            0
            • crunchipC crunchip

              @wal mal nur bedingt mit dem Adapter zu tun.

              Ich hab frigate auf unraid laufen, nun ist mir aufgefallen, wenn nachts das backup läuft und der Container währenddessen gestoppt wird, werden die Datenpunkte(speziell zum triggern einer Bewegung) anschiessend nicht mehr aktualisiert.
              Ist mir erst aufgefallen nachdem kein Bild gesendet wurde, als die Post da war.

              Ich muss dann mqtt und den Adapter neu starten, dann funktioniert es wieder, bis zum nachsten backup.

              Variante 1, ich lass beide Instanzen nach dem backup automatisch neu starten
              Variante 2, den container nicht zu stoppen während des backups.

              Vllt hast du diesbezüglich ja eine Idee

              Ps: iobroker läuft noch als VM auf nem anderen Rechner(Proxmox)

              WalW Online
              WalW Online
              Wal
              Developer
              wrote on last edited by
              #98

              @crunchip ,
              ich mache das ja unter Proxmox auch alle 2 Tage, da läuft es danach aber wieder.
              Machst du es wie ich mit einem Mosquitto Server und dem mqtt client Adapter ?

              Gruß
              Walter

              DoorIO-Adapter
              wioBrowser-Adapter und wioBrowser

              crunchipC 1 Reply Last reply
              0
              • WalW Wal

                @crunchip ,
                ich mache das ja unter Proxmox auch alle 2 Tage, da läuft es danach aber wieder.
                Machst du es wie ich mit einem Mosquitto Server und dem mqtt client Adapter ?

                crunchipC Away
                crunchipC Away
                crunchip
                Forum Testing Most Active
                wrote on last edited by
                #99

                @wal ja hab nen mqtt container auf unraid und client im iobroker laufen.

                Muss ich mich mal demnächst näher damit beschäftigen warum nicht mehr aktualisiert wird.

                Aktuell ist zuhause und Umgebung allerdings totaler Stromausfall, das scheint was größeres zu sein.

                umgestiegen von Proxmox auf Unraid

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  dragst3r
                  wrote on last edited by dragst3r
                  #100

                  Ich habe derzeit das Problem, dass immer wieder die Webclips oder Snapshots URLs kein Event (noevent) haben und somit verschiedene Fehler in Skripten/Adapter erzeugen. Das liegt mMn daran, das Snapshots oder Webclips pauschal im Objekt aktualisiert werden ohne eine Validierung, ob was existiert.

                  Laut JSON von Frigate gibt es ja die Werte:
                  "has_clip": true,
                  "has_snapshot": true

                  EDIT: Ich glaube die Logik war schon enthalten, funktioniert aber nicht "mehr"?
                  const bsnap = await this.getStateAsync(beforecamera + '.snapshots.state');
                  const bclip = await this.getStateAsync(beforecamera + '.recordings.state');

                  Wäre es daher nicht sinnvoll, beim schreiben des jeweiligen Objektes von Clip/Snap dies vorher abzufragen?

                  VG
                  dragst3r

                  EDIT2: Ich habe mich mal versucht in github direkt was zu ändern. Keine Ahnung ob das so richtig war.

                  WalW 1 Reply Last reply
                  0
                  • D dragst3r

                    Ich habe derzeit das Problem, dass immer wieder die Webclips oder Snapshots URLs kein Event (noevent) haben und somit verschiedene Fehler in Skripten/Adapter erzeugen. Das liegt mMn daran, das Snapshots oder Webclips pauschal im Objekt aktualisiert werden ohne eine Validierung, ob was existiert.

                    Laut JSON von Frigate gibt es ja die Werte:
                    "has_clip": true,
                    "has_snapshot": true

                    EDIT: Ich glaube die Logik war schon enthalten, funktioniert aber nicht "mehr"?
                    const bsnap = await this.getStateAsync(beforecamera + '.snapshots.state');
                    const bclip = await this.getStateAsync(beforecamera + '.recordings.state');

                    Wäre es daher nicht sinnvoll, beim schreiben des jeweiligen Objektes von Clip/Snap dies vorher abzufragen?

                    VG
                    dragst3r

                    EDIT2: Ich habe mich mal versucht in github direkt was zu ändern. Keine Ahnung ob das so richtig war.

                    WalW Online
                    WalW Online
                    Wal
                    Developer
                    wrote on last edited by
                    #101

                    @dragst3r ,
                    schau ich mir mal zeitnah an.

                    Gruß
                    Walter

                    DoorIO-Adapter
                    wioBrowser-Adapter und wioBrowser

                    D 1 Reply Last reply
                    0
                    • WalW Wal

                      @dragst3r ,
                      schau ich mir mal zeitnah an.

                      D Offline
                      D Offline
                      dragst3r
                      wrote on last edited by
                      #102

                      @wal ,
                      falls meine Änderungen in Github nicht abgeschickt worden sind, reicht schon folgendes, markiert mit // NEU bzw. anders

                       async onEventChange(obj) {
                              const extractedJSON = JSON.parse(obj.val);
                              const beforecamera = extractedJSON.before.camera;
                              const before = extractedJSON.before; // NEU 
                              const beforelabel = extractedJSON.before.label;
                              const afterid = extractedJSON.after.id;
                              const topscore = extractedJSON.after.top_score;
                              const eventtype = extractedJSON.type;
                              const id1 = beforecamera + '.event';
                              const id2 = beforecamera + '.objects.' + beforelabel;
                              const websnap = weburl + '/api/events/' + afterid + '/snapshot.jpg';
                              const webclip = weburl + '/api/events/' + afterid + '/clip.mp4';
                      
                      
                              const bsnap = before.has_snapshot; // NEU bzw. anders
                              const bclip = before.has_clip; // NEU bzw. anders
                              if ((bsnap == null) || (bclip == null)) {
                                  this.log.info('restart MQTT Broker please !!!');
                                  return;
                              }
                              this.log.debug(`Snap: ${bsnap}`);
                              this.log.debug(`Clip: ${bclip}`);
                              this.log.debug(`changed: ${obj.val}`);
                              try {
                                  if (eventtype == 'new') {
                                      //------------------------------
                                      //      Bewegung erkannt
                                      //------------------------------
                                      this.setState('event', { val: true, ack: true });
                                      //------------------------------
                                      //       Kamera erkannt
                                      //------------------------------
                                      await this.setObjectNotExistsAsync(id1, {
                                          type: 'state',
                                          common: {
                                              name: 'Camera detected',
                                              type: 'boolean',
                                              role: 'indicator',
                                              read: true,
                                              write: false,
                                              def: false
                                          },
                                          native: {},
                                      });
                                      this.setState(id1, { val: true, ack: true });
                                      //------------------------------
                                      //       Objekt erkannt
                                      //------------------------------
                                      await this.setObjectNotExistsAsync(id2 + '.event', {
                                          type: 'state',
                                          common: {
                                              name: beforelabel + ' detected',
                                              type: 'boolean',
                                              role: 'indicator',
                                              read: true,
                                              write: false,
                                              def: false
                                          },
                                          native: {},
                                      });
                                      this.setState(id2 + '.event', { val: true, ack: true });
                                  } else if (eventtype == 'end') {
                                      //------------------------------
                                      //         Event ID
                                      //------------------------------
                                      await this.setObjectNotExistsAsync(id2 + '.id', {
                                          type: 'state',
                                          common: {
                                              name: 'Event ID',
                                              type: 'string',
                                              role: 'value',
                                              read: true,
                                              write: false,
                                              def: 'none'
                                          },
                                          native: {},
                                      });
                                      this.setState(id2 + '.id', { val: afterid, ack: true });
                                      //------------------------------
                                      //         Cam + Event ID
                                      //------------------------------
                                      await this.setObjectNotExistsAsync(id2 + '.camid', {
                                          type: 'state',
                                          common: {
                                              name: 'Cam ID',
                                              type: 'string',
                                              role: 'value',
                                              read: true,
                                              write: false,
                                              def: 'none'
                                          },
                                          native: {},
                                      });
                                      this.setState(id2 + '.camid', { val: beforecamera + '-' + afterid, ack: true });
                                      this.setState('lastcamid', { val: beforecamera + '-' + afterid, ack: true });
                                      this.setState('lastidurl', { val: websnap, ack: true });
                                      //------------------------------
                                      //           WebURL
                                      //------------------------------
                                      const anz = this.config.webnum;
                                      if (bsnap == true) { // NEU bzw. anders
                                          for (let i = 0; i < anz; i++)
                                              await this.setObjectNotExistsAsync(id2 + '.web.snap.snap_' + i.toString(), {
                                                  type: 'state',
                                                  common: {
                                                      name: 'Snapshot WebUrl ' + i.toString(),
                                                      type: 'string',
                                                      role: 'value',
                                                      read: true,
                                                      write: false,
                                                      def: ''
                                                  },
                                                  native: {},
                                              });
                      
                                          for (let i = anz - 1; i > -1; i--) {
                                              if (i == 0) {
                                                  this.setState(id2 + '.web.snap.snap_' + i.toString(), { val: websnap, ack: true });
                                              } else {
                                                  const str = await this.getStateAsync(id2 + '.web.snap.snap_' + (i - 1).toString());
                                                  if (str != null)
                                                      this.setState(id2 + '.web.snap.snap_' + i.toString(), { val: str.val, ack: true });
                                              }
                                          }
                                      }
                                      if (bclip == true) { // NEU bzw. anders
                                          for (let i = 0; i < anz; i++)
                                              await this.setObjectNotExistsAsync(id2 + '.web.clip.clip_' + i.toString(), {
                                                  type: 'state',
                                                  common: {
                                                      name: 'Clip WebUrl ' + i.toString(),
                                                      type: 'string',
                                                      role: 'value',
                                                      read: true,
                                                      write: false,
                                                      def: ''
                                                  },
                                                  native: {},
                                              });
                      
                                          for (let i = anz - 1; i > -1; i--) {
                                              if (i == 0) {
                                                  this.setState(id2 + '.web.clip.clip_' + i.toString(), { val: webclip, ack: true });
                                              } else {
                                                  const str = await this.getStateAsync(id2 + '.web.clip.clip_' + (i - 1).toString());
                                                  if (str != null)
                                                      this.setState(id2 + '.web.clip.clip_' + i.toString(), { val: str.val, ack: true });
                                              }
                                          }
                                      }
                                      //------------------------------
                                      //       Erkennungsrate
                                      //------------------------------
                                      await this.setObjectNotExistsAsync(id2 + '.score', {
                                          type: 'state',
                                          common: {
                                              type: 'number',
                                              read: true,
                                              write: false,
                                              name: 'detection rate',
                                              role: 'value.score',
                                              unit: '%',
                                              def: 0
                                          },
                                          native: {},
                                      });
                                      this.setState(id2 + '.score', { val: Math.round(topscore * 100), ack: true });
                                      //------------------------------
                                      //      Reset Event States
                                      //------------------------------
                                      this.setState('event', { val: false, ack: true });
                                      this.setState(id1, { val: false, ack: true });
                                      this.setState(id2 + '.event', { val: false, ack: true });
                                  }
                              } catch (error) {
                                  this.log.error(error);
                              }
                          }
                      
                      1 Reply Last reply
                      1
                      • WalW Online
                        WalW Online
                        Wal
                        Developer
                        wrote on last edited by
                        #103

                        Version 2.8 mit den Änderungen von @dragst3r erstellt.

                        Gruß
                        Walter

                        DoorIO-Adapter
                        wioBrowser-Adapter und wioBrowser

                        D 1 Reply Last reply
                        0
                        • WalW Wal

                          Version 2.8 mit den Änderungen von @dragst3r erstellt.

                          D Offline
                          D Offline
                          dragst3r
                          wrote on last edited by
                          #104

                          @wal danke, bei Github heiße ich allerdings anders 🙂 und zwar Obsthaendler falls es wichtig ist.

                          U 1 Reply Last reply
                          0
                          • D dragst3r

                            @wal danke, bei Github heiße ich allerdings anders 🙂 und zwar Obsthaendler falls es wichtig ist.

                            U Offline
                            U Offline
                            uwe72
                            wrote on last edited by
                            #105

                            Kann mir jemand helfen? Frigate läuft. In ioBroker habe ich den Frigate Adapter installiert.

                            Was muss ich noch machen. MQTT-Client Adapter installieren? Wie muss ich den konfigurieren?

                            Möchte benachrichtigt werden, wenn Frigate einen Alarm auslöst.

                            DANKE!

                            WalW 1 Reply Last reply
                            0
                            • U uwe72

                              Kann mir jemand helfen? Frigate läuft. In ioBroker habe ich den Frigate Adapter installiert.

                              Was muss ich noch machen. MQTT-Client Adapter installieren? Wie muss ich den konfigurieren?

                              Möchte benachrichtigt werden, wenn Frigate einen Alarm auslöst.

                              DANKE!

                              WalW Online
                              WalW Online
                              Wal
                              Developer
                              wrote on last edited by Wal
                              #106

                              @uwe72 ,
                              wenn du noch kein MQTT-Broker am laufen hast, den MQTT-Adapter als Server einrichten.
                              Danach Frigate so einrichten das er sich am MQTT-Server anmeldet und wenn das läuft den Frigate-Adapter auf "mqtt.0.frigate" incl. IP/Port von Frigate konfigurieren.

                              Gruß
                              Walter

                              DoorIO-Adapter
                              wioBrowser-Adapter und wioBrowser

                              U 1 Reply Last reply
                              0
                              • WalW Wal

                                @uwe72 ,
                                wenn du noch kein MQTT-Broker am laufen hast, den MQTT-Adapter als Server einrichten.
                                Danach Frigate so einrichten das er sich am MQTT-Server anmeldet und wenn das läuft den Frigate-Adapter auf "mqtt.0.frigate" incl. IP/Port von Frigate konfigurieren.

                                U Offline
                                U Offline
                                uwe72
                                wrote on last edited by
                                #107

                                @wal Sorry, ich wollte fragen, ob Du mir helfen kannst den MQTT-Server einzurichten? Hast Du mir Screenshots von den 3 Reitern?

                                WalW 1 Reply Last reply
                                0
                                • U uwe72

                                  @wal Sorry, ich wollte fragen, ob Du mir helfen kannst den MQTT-Server einzurichten? Hast Du mir Screenshots von den 3 Reitern?

                                  WalW Online
                                  WalW Online
                                  Wal
                                  Developer
                                  wrote on last edited by
                                  #108

                                  @uwe72 ,
                                  müsste so passen, ohne Gewähr.
                                  mqttfri.jpg

                                  Gruß
                                  Walter

                                  DoorIO-Adapter
                                  wioBrowser-Adapter und wioBrowser

                                  wendy2702W U 2 Replies Last reply
                                  0
                                  • WalW Wal

                                    @uwe72 ,
                                    müsste so passen, ohne Gewähr.
                                    mqttfri.jpg

                                    wendy2702W Online
                                    wendy2702W Online
                                    wendy2702
                                    wrote on last edited by
                                    #109

                                    @wal Sorry: Offtopic aber hattest du nicht ne Anleitung zu Frigate installation Proxmox mit Corel USB erstellt?

                                    Habe mir heute auch den Corel USB bestellt und wollte Frigate mal testen bevor ich Motioneye in Rente schicke.

                                    Hast du zufällig den Link dahin parat?

                                    Bitte keine Fragen per PN, die gehören ins Forum!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    WalW M 2 Replies Last reply
                                    0
                                    • wendy2702W wendy2702

                                      @wal Sorry: Offtopic aber hattest du nicht ne Anleitung zu Frigate installation Proxmox mit Corel USB erstellt?

                                      Habe mir heute auch den Corel USB bestellt und wollte Frigate mal testen bevor ich Motioneye in Rente schicke.

                                      Hast du zufällig den Link dahin parat?

                                      WalW Online
                                      WalW Online
                                      Wal
                                      Developer
                                      wrote on last edited by
                                      #110

                                      @wendy2702 sagte in Test Frigate Adapter 0.2.8:

                                      Anleitung zu Frigate installation Proxmox mit Corel USB erstellt?

                                      Nein,war eine für eine coral dual tpu.

                                      Gruß
                                      Walter

                                      DoorIO-Adapter
                                      wioBrowser-Adapter und wioBrowser

                                      1 Reply Last reply
                                      0
                                      • wendy2702W wendy2702

                                        @wal Sorry: Offtopic aber hattest du nicht ne Anleitung zu Frigate installation Proxmox mit Corel USB erstellt?

                                        Habe mir heute auch den Corel USB bestellt und wollte Frigate mal testen bevor ich Motioneye in Rente schicke.

                                        Hast du zufällig den Link dahin parat?

                                        M Offline
                                        M Offline
                                        martinschm
                                        wrote on last edited by
                                        #111

                                        @wendy2702 said in Test Frigate Adapter 0.2.8:

                                        @wal Sorry: Offtopic aber hattest du nicht ne Anleitung zu Frigate installation Proxmox mit Corel USB erstellt?

                                        Habe mir heute auch den Corel USB bestellt und wollte Frigate mal testen bevor ich Motioneye in Rente schicke.

                                        Hast du zufällig den Link dahin parat?

                                        Hab den USB Coral und hab damit auch motioneye in Rente geschickt. Leider hab ich die Schritte nicht dokumentiert, da ich mich selber ein wenig durch gewurschtelt habe. Insgesamt war ich als Docker und frigate Newbie aber überrascht, das ich es so schnell ans Laufen bekommen habe.

                                        Bin bisher super zufrieden, die Erkennung is echt gut und endlich werde ich nicht mehr bei jeder "Bewegung" vor der Haustür mit Bildern per Telegram bombardiert.

                                        1 Reply Last reply
                                        1
                                        • WalW Wal

                                          @uwe72 ,
                                          müsste so passen, ohne Gewähr.
                                          mqttfri.jpg

                                          U Offline
                                          U Offline
                                          uwe72
                                          wrote on last edited by uwe72
                                          #112

                                          @wal DANKE!

                                          Ich scheine einen Schritt weiter zu sein.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          375

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe