Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. (Erledigt) http post request für CodeProject.AI calls

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    562

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    622

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

(Erledigt) http post request für CodeProject.AI calls

Geplant Angeheftet Gesperrt Verschoben JavaScript
23 Beiträge 3 Kommentatoren 2.5k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • U uwe72

    Ich möchte per JavaScript request calls meines AI Servers absetzen.

    CodeProject.AI liefert dieses Besipiel auf ihrer Webseite:

    function detectScene(fileChooser) {
        var formData = new FormData();
        formData.append('image', fileChooser.files[0]);
    
        fetch('http://localhost:5000/v1/vision/detect/scene', {
            method: "POST",
            body: formData
        })
        .then(response => {
            if (response.ok) response.json().then(data => {
                console.log(`Scene is ${data.label}, ${data.confidence} confidence`)
            });
        });
    }
    

    Kann mir jemand weiterhelfen wie ich dies in den iobroker bekomme?

    Es müsste ja in dieser Richtung gehen oder hat jemand bereits eine solche Anbindung an den AI Server gemacht und kann mir ein Beispiel zukommen lassen?

    var request = require('request');
    
    // Assume we have a HTML INPUT type=file control with ID=fileChooser
    var formData = new FormData();
    formData.append('image', "TODO_LOAD_IMAGE_FROM_KAMERA");
    //formData.append("min_confidence", 0.4);
    
    request.post({
        url:     'http://192.168.178.124:32168/v1/vision/custom/licence-plates',
        form:    formData
    }, function(error, response, body) {
        if (error) log(error, 'error');
    });
    

    Insbesondere das FormData muss ja umgebaut werden.

    U Offline
    U Offline
    uwe72
    schrieb am zuletzt editiert von uwe72
    #2

    @uwe72 vermutlich sollte ich eher das NPM Module "node-fetch" verwenden...?!

    Update: node-fetch funktioniert auch nicht, siehe:
    https://forum.iobroker.net/topic/47726/gelöst-npm-modul-node-fetch-in-der-javascript-instanz/12

    Ich versuche es nun mal mit dem npm module: axios

    ofri2607O 1 Antwort Letzte Antwort
    0
    • U uwe72

      Ich möchte per JavaScript request calls meines AI Servers absetzen.

      CodeProject.AI liefert dieses Besipiel auf ihrer Webseite:

      function detectScene(fileChooser) {
          var formData = new FormData();
          formData.append('image', fileChooser.files[0]);
      
          fetch('http://localhost:5000/v1/vision/detect/scene', {
              method: "POST",
              body: formData
          })
          .then(response => {
              if (response.ok) response.json().then(data => {
                  console.log(`Scene is ${data.label}, ${data.confidence} confidence`)
              });
          });
      }
      

      Kann mir jemand weiterhelfen wie ich dies in den iobroker bekomme?

      Es müsste ja in dieser Richtung gehen oder hat jemand bereits eine solche Anbindung an den AI Server gemacht und kann mir ein Beispiel zukommen lassen?

      var request = require('request');
      
      // Assume we have a HTML INPUT type=file control with ID=fileChooser
      var formData = new FormData();
      formData.append('image', "TODO_LOAD_IMAGE_FROM_KAMERA");
      //formData.append("min_confidence", 0.4);
      
      request.post({
          url:     'http://192.168.178.124:32168/v1/vision/custom/licence-plates',
          form:    formData
      }, function(error, response, body) {
          if (error) log(error, 'error');
      });
      

      Insbesondere das FormData muss ja umgebaut werden.

      Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      schrieb am zuletzt editiert von
      #3

      @uwe72 sagte in http post request für CodeProject.AI calls:

      hat jemand bereits eine solche Anbindung an den AI Server gemacht

      Noch nie gemacht, aber ziemlich interessiert. Wie muss ich mir das vorstellen? Du schickst dem Server ein Bild einer Überwachungskamera und bekommst ein Kennzeichen (wenn denn eins drauf ist) zurück?

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      U 1 Antwort Letzte Antwort
      0
      • Marc BergM Marc Berg

        @uwe72 sagte in http post request für CodeProject.AI calls:

        hat jemand bereits eine solche Anbindung an den AI Server gemacht

        Noch nie gemacht, aber ziemlich interessiert. Wie muss ich mir das vorstellen? Du schickst dem Server ein Bild einer Überwachungskamera und bekommst ein Kennzeichen (wenn denn eins drauf ist) zurück?

        U Offline
        U Offline
        uwe72
        schrieb am zuletzt editiert von uwe72
        #4

        @marc-berg

        Ja. Unterschiedliche Usecases denkbar. Zum Beispiel:

        1. Man schickt dem AI Server ein Bilder der Kamera und bekommt dann ein json zurück mit dem erkannten KFZ-Kennzeichen. Öffnet dann beispielsweise die Garage wenn das gewünschte Kennzeichen gefunden wurde
        2. Schickt ein Bild von einer Person. AI Server antwortet, ob es eine Person ist oder sogar um, es sich um eine - zuvor antrainierte - spezifische Person handelt

        Das ganze Thema rund um KI, d.h. um den AI Server ist sehr einfach. Ist mit docker in ein paar Minuten erstellt. Aber auch ohne docker müsste dies relativ schnell gehen. Den AI Server kann man über die lokale Weboberfläche ausprobieren. Das funktioniert schon alles.

        Es handelt sich grundsätzlich um dieses Thema:
        https://www.codeproject.com/Articles/5322557/CodeProject-AI-Server-AI-the-easy-way

        Für HomeAssistent gibt es eine Anbindung. Für ioBroker habe ich nichts gefunden. Denke sollte aber möglich sein. Ich kämpfe aktuell damit wie ich den Service über JavaScript aufrufe. Was grundsätzlich sogar schon funktioniert. Weiß aber gerade noch nicht wie ich das Bild übergeben kann. Es müssten aber alles NPM Standardfunktionalitäten sein und nicht AI Server spezifisch.

        Marc BergM 1 Antwort Letzte Antwort
        1
        • U uwe72

          @uwe72 vermutlich sollte ich eher das NPM Module "node-fetch" verwenden...?!

          Update: node-fetch funktioniert auch nicht, siehe:
          https://forum.iobroker.net/topic/47726/gelöst-npm-modul-node-fetch-in-der-javascript-instanz/12

          Ich versuche es nun mal mit dem npm module: axios

          ofri2607O Offline
          ofri2607O Offline
          ofri2607
          schrieb am zuletzt editiert von
          #5

          @uwe72 sagte in http post request für CodeProject.AI calls:

          Update: node-fetch funktioniert auch nicht

          node-fetch funktioniert bei mir einwandfrei mit node-fetch@2 in der Javascript-Instanz unter „Zusätzliche NPM-Module“ eingetragen.
          Das @2 ist wesentlich - siehe hierzu auch https://github.com/node-fetch/node-fetch#loading-and-configuring-the-module

          U 1 Antwort Letzte Antwort
          0
          • U uwe72

            @marc-berg

            Ja. Unterschiedliche Usecases denkbar. Zum Beispiel:

            1. Man schickt dem AI Server ein Bilder der Kamera und bekommt dann ein json zurück mit dem erkannten KFZ-Kennzeichen. Öffnet dann beispielsweise die Garage wenn das gewünschte Kennzeichen gefunden wurde
            2. Schickt ein Bild von einer Person. AI Server antwortet, ob es eine Person ist oder sogar um, es sich um eine - zuvor antrainierte - spezifische Person handelt

            Das ganze Thema rund um KI, d.h. um den AI Server ist sehr einfach. Ist mit docker in ein paar Minuten erstellt. Aber auch ohne docker müsste dies relativ schnell gehen. Den AI Server kann man über die lokale Weboberfläche ausprobieren. Das funktioniert schon alles.

            Es handelt sich grundsätzlich um dieses Thema:
            https://www.codeproject.com/Articles/5322557/CodeProject-AI-Server-AI-the-easy-way

            Für HomeAssistent gibt es eine Anbindung. Für ioBroker habe ich nichts gefunden. Denke sollte aber möglich sein. Ich kämpfe aktuell damit wie ich den Service über JavaScript aufrufe. Was grundsätzlich sogar schon funktioniert. Weiß aber gerade noch nicht wie ich das Bild übergeben kann. Es müssten aber alles NPM Standardfunktionalitäten sein und nicht AI Server spezifisch.

            Marc BergM Offline
            Marc BergM Offline
            Marc Berg
            Most Active
            schrieb am zuletzt editiert von
            #6

            @uwe72 sagte in http post request für CodeProject.AI calls:

            Das ganze Thema rund um KI, d.h. um den AI Server ist sehr einfach. Ist mit docker in ein paar Minuten erstellt.

            Vielen Dank, sehr interessant! Docker Image lädt schon, mal sehen wie weit ich mit meiner Hardware komme ...

            NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

            Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

            Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

            U 1 Antwort Letzte Antwort
            0
            • Marc BergM Marc Berg

              @uwe72 sagte in http post request für CodeProject.AI calls:

              Das ganze Thema rund um KI, d.h. um den AI Server ist sehr einfach. Ist mit docker in ein paar Minuten erstellt.

              Vielen Dank, sehr interessant! Docker Image lädt schon, mal sehen wie weit ich mit meiner Hardware komme ...

              U Offline
              U Offline
              uwe72
              schrieb am zuletzt editiert von
              #7

              @marc-berg Kommt auch stark auf die Bildgröße darauf an. Je nach Größe/Auflösung schwankt die Erkennungszeit bei mir zwischen 250ms und 5s.

              Marc BergM 1 Antwort Letzte Antwort
              0
              • ofri2607O ofri2607

                @uwe72 sagte in http post request für CodeProject.AI calls:

                Update: node-fetch funktioniert auch nicht

                node-fetch funktioniert bei mir einwandfrei mit node-fetch@2 in der Javascript-Instanz unter „Zusätzliche NPM-Module“ eingetragen.
                Das @2 ist wesentlich - siehe hierzu auch https://github.com/node-fetch/node-fetch#loading-and-configuring-the-module

                U Offline
                U Offline
                uwe72
                schrieb am zuletzt editiert von
                #8

                @ofri2607 Danke dir.

                Habe es nun mal über den Weg probiert. Funktioniert noch nicht auf Anhieb. Irgendwas mache ich noch falsch.

                unter /opt/iobroker/

                npm install node-fetch@2
                

                ?!

                Dann in der JS-Instanz habe ich
                node-fetch@2
                als Module ergänzt.

                Dann im Script:

                const fetch2 = require('node-fetch@2');
                

                ?

                Bringt den Fehler:

                script.js.common.Automatisierungen.KI_node_fetch: Error: Cannot find module 'node-fetch@2'
                
                ofri2607O 1 Antwort Letzte Antwort
                0
                • U uwe72

                  @ofri2607 Danke dir.

                  Habe es nun mal über den Weg probiert. Funktioniert noch nicht auf Anhieb. Irgendwas mache ich noch falsch.

                  unter /opt/iobroker/

                  npm install node-fetch@2
                  

                  ?!

                  Dann in der JS-Instanz habe ich
                  node-fetch@2
                  als Module ergänzt.

                  Dann im Script:

                  const fetch2 = require('node-fetch@2');
                  

                  ?

                  Bringt den Fehler:

                  script.js.common.Automatisierungen.KI_node_fetch: Error: Cannot find module 'node-fetch@2'
                  
                  ofri2607O Offline
                  ofri2607O Offline
                  ofri2607
                  schrieb am zuletzt editiert von
                  #9

                  @uwe72

                  im Skript das @2 weglassen (das ist nur für den Installer, dass er die v2 installiert und nicht die v3), d.h.

                  const fetch2 = require('node-fetch');
                  
                  
                  U 1 Antwort Letzte Antwort
                  1
                  • U uwe72

                    @marc-berg Kommt auch stark auf die Bildgröße darauf an. Je nach Größe/Auflösung schwankt die Erkennungszeit bei mir zwischen 250ms und 5s.

                    Marc BergM Offline
                    Marc BergM Offline
                    Marc Berg
                    Most Active
                    schrieb am zuletzt editiert von
                    #10

                    @uwe72 sagte in http post request für CodeProject.AI calls:

                    Kommt auch stark auf die Bildgröße darauf an. Je nach Größe/Auflösung schwankt die Erkennungszeit bei mir zwischen 250ms und 5s.

                    Ich finde das schon richtig cool. Eine halbe Sekunde für einen älteren i3 ist okay.

                    fc3b1f45-1c99-4703-8966-1de05e5f25b4-grafik.png

                    Jetzt fehlt mir nur noch ein Anwendungsfall. :-)

                    NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                    Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                    Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                    1 Antwort Letzte Antwort
                    1
                    • ofri2607O ofri2607

                      @uwe72

                      im Skript das @2 weglassen (das ist nur für den Installer, dass er die v2 installiert und nicht die v3), d.h.

                      const fetch2 = require('node-fetch');
                      
                      
                      U Offline
                      U Offline
                      uwe72
                      schrieb am zuletzt editiert von
                      #11

                      @ofri2607 Funktioniert jetzt, danke!! Nun habe ich 2 Optionen. D.h. mit node-fetch oder axios

                      U 1 Antwort Letzte Antwort
                      0
                      • U uwe72

                        @ofri2607 Funktioniert jetzt, danke!! Nun habe ich 2 Optionen. D.h. mit node-fetch oder axios

                        U Offline
                        U Offline
                        uwe72
                        schrieb am zuletzt editiert von
                        #12

                        Hab nun diesen Zwischenstand. Der aber leider nicht funktioniert.

                        var fetch = require('node-fetch');
                        const FormData = require('form-data');
                        
                        doDetection();
                        function doDetection() {
                            request.get({url: "http://192.168.178.124/kennzeichen.png", 
                                encoding: null},  async function (err, response, body) {
                                if (err) {
                                    throw err;
                                }
                        
                                var formData = new FormData();
                                formData.append('image', body);
                        
                                const response2 = await fetch('http://192.168.178.124:32168/v1/vision/custom/licence-plates',         
                                    {method: 'POST', body: formData});
                                const result = await response2.json();
                                log("Result: " + JSON.stringify(result))
                            });
                        }
                        

                        Fehlermeldung:

                        javascript.1 (25773) script.js.common.Automatisierungen.KI5_works_better: Result: {"success":false,"error":"Unable to create YOLO detector for model licence-plates","code":500,"command":"custom","moduleId":"ObjectDetectionYolo","executionProvider":"CPU","canUseGPU":false,"analysisRoundTripMs":28}
                        
                        ofri2607O Marc BergM 2 Antworten Letzte Antwort
                        0
                        • U uwe72

                          Hab nun diesen Zwischenstand. Der aber leider nicht funktioniert.

                          var fetch = require('node-fetch');
                          const FormData = require('form-data');
                          
                          doDetection();
                          function doDetection() {
                              request.get({url: "http://192.168.178.124/kennzeichen.png", 
                                  encoding: null},  async function (err, response, body) {
                                  if (err) {
                                      throw err;
                                  }
                          
                                  var formData = new FormData();
                                  formData.append('image', body);
                          
                                  const response2 = await fetch('http://192.168.178.124:32168/v1/vision/custom/licence-plates',         
                                      {method: 'POST', body: formData});
                                  const result = await response2.json();
                                  log("Result: " + JSON.stringify(result))
                              });
                          }
                          

                          Fehlermeldung:

                          javascript.1 (25773) script.js.common.Automatisierungen.KI5_works_better: Result: {"success":false,"error":"Unable to create YOLO detector for model licence-plates","code":500,"command":"custom","moduleId":"ObjectDetectionYolo","executionProvider":"CPU","canUseGPU":false,"analysisRoundTripMs":28}
                          
                          ofri2607O Offline
                          ofri2607O Offline
                          ofri2607
                          schrieb am zuletzt editiert von
                          #13

                          @uwe72
                          Ich kenne zwar den request / das Thema jetzt nicht, aber ist an sich spannend :-)
                          Bist du dir sicher das du den body vom callback aus dem request direkt so weiter verarbeiten kannst und keine Aufbereitung (oder ähnliches) dazu brauchst?

                          1 Antwort Letzte Antwort
                          0
                          • Marc BergM Offline
                            Marc BergM Offline
                            Marc Berg
                            Most Active
                            schrieb am zuletzt editiert von
                            #14

                            @uwe72

                            Sicher, dass dieser Aufruf hier korrekt ist?

                            /v1/vision/custom/licence-plates

                            Hier und hier steht

                            /v1/image/alpr
                            

                            NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                            Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                            Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                            U 1 Antwort Letzte Antwort
                            0
                            • U uwe72

                              Hab nun diesen Zwischenstand. Der aber leider nicht funktioniert.

                              var fetch = require('node-fetch');
                              const FormData = require('form-data');
                              
                              doDetection();
                              function doDetection() {
                                  request.get({url: "http://192.168.178.124/kennzeichen.png", 
                                      encoding: null},  async function (err, response, body) {
                                      if (err) {
                                          throw err;
                                      }
                              
                                      var formData = new FormData();
                                      formData.append('image', body);
                              
                                      const response2 = await fetch('http://192.168.178.124:32168/v1/vision/custom/licence-plates',         
                                          {method: 'POST', body: formData});
                                      const result = await response2.json();
                                      log("Result: " + JSON.stringify(result))
                                  });
                              }
                              

                              Fehlermeldung:

                              javascript.1 (25773) script.js.common.Automatisierungen.KI5_works_better: Result: {"success":false,"error":"Unable to create YOLO detector for model licence-plates","code":500,"command":"custom","moduleId":"ObjectDetectionYolo","executionProvider":"CPU","canUseGPU":false,"analysisRoundTripMs":28}
                              
                              Marc BergM Offline
                              Marc BergM Offline
                              Marc Berg
                              Most Active
                              schrieb am zuletzt editiert von
                              #15

                              @uwe72 sagte in http post request für CodeProject.AI calls:

                              Fehlermeldung:

                              Nach einigen Fehlversuchen beim korrekten Parametrieren des POST Requests habe ich es jetzt in NodeRed hinbekommen. Es gibt einen "Deepstack" Node, die die Anfrage offensichtlich korrekt formatiert:

                              11a27548-a279-42a6-877c-141d1c417802-grafik.png

                              Der Aufruf erfolgt mit

                              v1/vision/alpr
                              

                              NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                              Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                              Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                              U 1 Antwort Letzte Antwort
                              1
                              • Marc BergM Marc Berg

                                @uwe72 sagte in http post request für CodeProject.AI calls:

                                Fehlermeldung:

                                Nach einigen Fehlversuchen beim korrekten Parametrieren des POST Requests habe ich es jetzt in NodeRed hinbekommen. Es gibt einen "Deepstack" Node, die die Anfrage offensichtlich korrekt formatiert:

                                11a27548-a279-42a6-877c-141d1c417802-grafik.png

                                Der Aufruf erfolgt mit

                                v1/vision/alpr
                                
                                U Offline
                                U Offline
                                uwe72
                                schrieb am zuletzt editiert von uwe72
                                #16

                                @marc-berg ich schau mir dies heute abend an, wenn ich "zuhause" bin. Danke dafür! Kenne mich mit nodered nicht aus. Kannst du zeigen wie der post request nun bei dir konfiguriert ist oder alternativ fällt dir bei meinem request noch was auf? Vielen Dank und Gruß aus Brasilien

                                Marc BergM 1 Antwort Letzte Antwort
                                0
                                • U uwe72

                                  @marc-berg ich schau mir dies heute abend an, wenn ich "zuhause" bin. Danke dafür! Kenne mich mit nodered nicht aus. Kannst du zeigen wie der post request nun bei dir konfiguriert ist oder alternativ fällt dir bei meinem request noch was auf? Vielen Dank und Gruß aus Brasilien

                                  Marc BergM Offline
                                  Marc BergM Offline
                                  Marc Berg
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #17

                                  @uwe72 sagte in http post request für CodeProject.AI calls:

                                  fällt dir bei meinem request noch was auf?

                                  Probiere es erstmal mit

                                  /v1/image/alpr
                                  

                                  oder

                                  /v1/vision/alpr
                                  

                                  Dann kommt mindestens mal eine andere Fehlermeldung, denn deine Meldung bekomme ich auch, wenn ich diese URL (...license-plates) benutze.

                                  NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                                  Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                                  Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                                  U 2 Antworten Letzte Antwort
                                  0
                                  • Marc BergM Marc Berg

                                    @uwe72 sagte in http post request für CodeProject.AI calls:

                                    fällt dir bei meinem request noch was auf?

                                    Probiere es erstmal mit

                                    /v1/image/alpr
                                    

                                    oder

                                    /v1/vision/alpr
                                    

                                    Dann kommt mindestens mal eine andere Fehlermeldung, denn deine Meldung bekomme ich auch, wenn ich diese URL (...license-plates) benutze.

                                    U Offline
                                    U Offline
                                    uwe72
                                    schrieb am zuletzt editiert von
                                    #18

                                    @marc-berg Du hattest recht, es kommt eine andere Fehlermeldung ;-)

                                    Das Bild existiert. Habe auch eine Version wo ich das Bild zuerst auf der Festplatte zwischenspeichere. Gleiches Verhalten.

                                    Kann kein Unterschied mehr erkennen zu:
                                    https://www.codeproject.com/AI/docs/api/api_reference.html

                                    http://192.168.178.124:32168/v1/image/alpr --> Funktioniert bei mir nicht.

                                    Hast Du mir noch einen Tipp?

                                    var fetch = require('node-fetch');
                                    const FormData = require('form-data');
                                    
                                    doDetection();
                                    function doDetection() {
                                        request.get({url: "http://192.168.178.124/kennzeichen.png", 
                                            encoding: null},  async function (err, response, body) {
                                            if (err) {
                                                throw err;
                                            }
                                    
                                            var formData = new FormData();
                                            formData.append('upload', body);
                                    
                                            var url = 'http://192.168.178.124:32168/v1/vision/alpr';
                                            const response2 = await fetch(url, {method: 'POST', body: formData});
                                            const result =  await response2.json();
                                            log("Result: " + JSON.stringify(result));
                                        });
                                    }
                                    

                                    Neue Fehlermeldung:

                                    javascript.1 (30020) script.js.common.Automatisierungen.KI5_works_better: Result: {"type":"https://tools.ietf.org/html/rfc7231#section-6.5.4","title":"Not Found","status":404,"traceId":"00-7635e33346ec49308c1960652c3a9519-6f9794d0678c038f-00"}
                                    
                                    1 Antwort Letzte Antwort
                                    0
                                    • Marc BergM Marc Berg

                                      @uwe72 sagte in http post request für CodeProject.AI calls:

                                      fällt dir bei meinem request noch was auf?

                                      Probiere es erstmal mit

                                      /v1/image/alpr
                                      

                                      oder

                                      /v1/vision/alpr
                                      

                                      Dann kommt mindestens mal eine andere Fehlermeldung, denn deine Meldung bekomme ich auch, wenn ich diese URL (...license-plates) benutze.

                                      U Offline
                                      U Offline
                                      uwe72
                                      schrieb am zuletzt editiert von uwe72
                                      #19

                                      @marc-berg Darf ich fragen. welche AI-Server Version du verwendest? Über docker/docker-compose? Falls ja, welches tag? Danke&Grüße

                                      Marc BergM 1 Antwort Letzte Antwort
                                      0
                                      • U uwe72

                                        @marc-berg Darf ich fragen. welche AI-Server Version du verwendest? Über docker/docker-compose? Falls ja, welches tag? Danke&Grüße

                                        Marc BergM Offline
                                        Marc BergM Offline
                                        Marc Berg
                                        Most Active
                                        schrieb am zuletzt editiert von Marc Berg
                                        #20

                                        @uwe72 sagte in http post request für CodeProject.AI calls:

                                        Falls ja, welches tag?

                                        Ich habe einfach die aktuellste Version mit dem CPU Tag genommen, da ist das Image etwas kleiner. Ich kann mir aber nicht vorstellen, dass es daran liegt. Welche Module sind bei dir installiert?


                                        IMG_5784.jpeg

                                        codeproject:
                                            container_name: codeproject
                                            image: codeproject/ai-server:cpu-2.4.7
                                            hostname: codeproject
                                            restart: unless-stopped
                                            networks:
                                              test:
                                            volumes:
                                              - /opt/docker/codeproject/data:/etc/codeproject/ai
                                              - /opt/docker/codeproject/modules:/app/modules      
                                              - /etc/localtime:/etc/localtime:ro
                                            ports:
                                              - "32168:32168"
                                        

                                        EDIT: habe das mal im Javascript Adapter nachgestellt. Dieser Code läuft bei mir, musst du nur noch mit dem Abfragen des Bildes per http ergänzen:

                                        let imageUrl = '/opt/iobroker/1600-1200-max.jpg';
                                        let apiURL = 'http://nuc.fritz.box:32168/v1/vision/alpr';
                                        
                                        var request = require('request');
                                        var fs = require('fs');
                                        
                                        var options = {
                                            method: 'POST',
                                            url: apiURL,
                                            headers: {
                                                'Content-Type': 'multipart/form-data'
                                            },
                                            formData: {
                                                image: fs.createReadStream(imageUrl)
                                            }
                                        };
                                        
                                        request(options, function (error, response) {
                                            if (error) throw new Error(error);
                                            log("Result: "+response.body);
                                        });
                                        

                                        NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

                                        Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

                                        Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

                                        U 1 Antwort Letzte Antwort
                                        1
                                        • Marc BergM Marc Berg

                                          @uwe72 sagte in http post request für CodeProject.AI calls:

                                          Falls ja, welches tag?

                                          Ich habe einfach die aktuellste Version mit dem CPU Tag genommen, da ist das Image etwas kleiner. Ich kann mir aber nicht vorstellen, dass es daran liegt. Welche Module sind bei dir installiert?


                                          IMG_5784.jpeg

                                          codeproject:
                                              container_name: codeproject
                                              image: codeproject/ai-server:cpu-2.4.7
                                              hostname: codeproject
                                              restart: unless-stopped
                                              networks:
                                                test:
                                              volumes:
                                                - /opt/docker/codeproject/data:/etc/codeproject/ai
                                                - /opt/docker/codeproject/modules:/app/modules      
                                                - /etc/localtime:/etc/localtime:ro
                                              ports:
                                                - "32168:32168"
                                          

                                          EDIT: habe das mal im Javascript Adapter nachgestellt. Dieser Code läuft bei mir, musst du nur noch mit dem Abfragen des Bildes per http ergänzen:

                                          let imageUrl = '/opt/iobroker/1600-1200-max.jpg';
                                          let apiURL = 'http://nuc.fritz.box:32168/v1/vision/alpr';
                                          
                                          var request = require('request');
                                          var fs = require('fs');
                                          
                                          var options = {
                                              method: 'POST',
                                              url: apiURL,
                                              headers: {
                                                  'Content-Type': 'multipart/form-data'
                                              },
                                              formData: {
                                                  image: fs.createReadStream(imageUrl)
                                              }
                                          };
                                          
                                          request(options, function (error, response) {
                                              if (error) throw new Error(error);
                                              log("Result: "+response.body);
                                          });
                                          
                                          U Offline
                                          U Offline
                                          uwe72
                                          schrieb am zuletzt editiert von uwe72
                                          #21

                                          @marc-berg Ganz herzlichen Dank an Dich!!

                                          Jetzt läuft sowohl die Kennzeichenerkennung

                                          javascript.1 (138637) script.js.common.Automatisierungen.DISK_ALPR: Result: {"success":true,"predictions":[{"confidence":0.7975177963574728,"label":"Plate: MUC 0 HF29","plate":"MUC 0 HF29","x_min":450,"y_min":220,"x_max":654,"y_max":260}],"message":"Found Plate: MUC 0 HF29","processMs":166,"inferenceMs":150,"code":200,"command":"alpr","moduleId":"ALPR","executionProvider":"CPU","canUseGPU":false,"analysisRoundTripMs":187}
                                          

                                          als auch die Erkennung von spezifischen Personen:

                                          javascript.1 (138637) script.js.common.Automatisierungen.DISK_FACE: Result: {"message":"A face was recognised","count":1,"predictions":[{"confidence":0.9747644662857056,"userid":"Uwe","x_min":433,"y_min":163,"x_max":677,"y_max":504}],"success":true,"inferenceMs":223,"processMs":233,"code":200,"command":"recognize","moduleId":"FaceProcessing","executionProvider":"CPU","canUseGPU":false,"analysisRoundTripMs":238,"processedBy":"localhost"}
                                          

                                          Diese Änderungen habe ich - aufgrund deiner Hilfe - noch gemacht:

                                          • In JavaScript deinen Ansatz gewählt über request, statt fetch.
                                          • Zudem speichere ich das Bild noch auf der Festplatte und lese es wieder bevor ich es an den Server (als Stream) sende.. Hier will ich noch optimieren. Es würde mir im Normalfall reichen das Bild im Speicher zu haben
                                          • Das war es vermutlich schon. In Docker hatte ich nun noch exakt deine Version (cpu-2.4.7), statt "latest" verwendet (2.3.2 alpha)

                                          Ich denke auf Basis dessen kann was Gutes erstehen :-)

                                          Marc BergM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          715

                                          Online

                                          32.6k

                                          Benutzer

                                          81.9k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe