Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Java Script https selfsigned certificate

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Java Script https selfsigned certificate

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      cat1510 last edited by

      Hi zusammen,

      seit nunmehr 2 Wochen versuche ich in JScript einen 'API' Call zu machen.
      Zuerst war meine Idee, in Blockly den Exec Block zu benuten und einfach 'curl' als Befehl, dann Java Script mit fetch() oder XMLHTTPRequest, ALLES funktioniert nicht.

      Chat-GPT hat mir 1000 Scripte geliefert, die alle nicht funktionieren.
      Dann habe ich mehr oder weniger durch Zufall hier im Forum alle moeglichen Threads dazu gelesen. Alles keine Loesung oder augenscheinlich nichtmal funktional.

      Nun habe ich ENDLICH den Fehler gefunden.
      Es ist ein selfsigned SSL Zertifikat, welches die WebSite (Unifi-Controller) zurueck gibt. Das bricht der 'request' im JScript Editor aber ab.

      Warum gibt es im ioBroker - JScript Adapter kein fetch()?
      Was muss man dafuer tun? Im unterliegenden node 18.x.x ist es drin und funktioniert.
      Von der Struktur unter ioBroker / node habe ich keine Ahnung, daher kann die Frage auch dumm sein.

      Aber nun meine eigentliche Frage:

      Wie kann ich im JScript Editor im ioBroker einen selfsigned https POST mit JSON daten absetzen?
      Weil request ist ja im ioBroker, habe ich im manual gefunden, aber das benoetigt auch htttps...

      Habt Ihr eine kurze Idee oder einen Link um mich in die richtige Richtung zu schubsen?

      Oder soll ich npm install fetch-node?

      Oh - und nein der Unifi Adapeter ist KEINE Loesung.
      Zu unzuverlaessig in 3 Installationen, das schreib ich lieber selber.

      Vielen Dank fuer einen Tip.

      Codierknecht ofri2607 2 Replies Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @cat1510 last edited by

        @cat1510 sagte in Java Script https selfsigned certificate:

        Wie kann ich im JScript Editor im ioBroker einen selfsigned https POST mit JSON daten absetzen?

        Axios?

        const axios = require('axios');
        
        // Reverse-Geocoding anhand der aktuellen Koordinaten
        async function updateLocation() {
            const url = `https://nominatim.openstreetmap.org/reverse?lat=${latitude}&lon=${longitude}&format=json`;
            const response = await axios.get(url);
            ...
        

        Würde mich sehr wundern, wenn man dem nicht beibringen könnte, Zertifikatsfehler zu ignorieren.
        Habe ich aber bislang selbst noch nicht benötigt.

        1 Reply Last reply Reply Quote 0
        • ofri2607
          ofri2607 @cat1510 last edited by

          @cat1510 sagte in Java Script https selfsigned certificate:

          Habt Ihr eine kurze Idee oder einen Link um mich in die richtige Richtung zu schubsen?

          Ich stand vor Kurzem vor einem ähnlichen Problem.
          Mir hat hier eine Lösung mit https-Agent in den Optionen des fetch-Aufrufes geholfen, siehe z.B.: stackoverflow - using rejectUnauthorized wtih node-fetch in node.js
          Achtung dabei, bitte lies betreffend Sicherheitsrisiko in der Lösung unbedingt auch die Warnung in der ersten Zeile der Antwort dazu!

          Im Javascript-Adapter dazu unter npm Module „node-fetch@2“ einfügen.
          Das „@2“ ist wesentlich siehe: https://github.com/node-fetch/node-fetch?tab=readme-ov-file#commonjs
          Bei require im js-Code wird dann aber „nur“ const fetch = require("node-fetch") ohne dem „@2“; eingefügt, wie auch im obigen Link zum Beispiel.

          1 Reply Last reply Reply Quote 0
          • C
            cat1510 last edited by

            Hi,

            vielen Dank fuer Deine Antwort / Anleitung.
            Es funktioniert so wie beschrieben auf jeden Fall.
            Man konnte noch ergaenzen, dass mal den iobroker einmal neu starten muss.

            Leider bin ich immer noch zu doof das Ergebnis(result) in eine Variable schreiben zu lassen und damit weiter zu arbeiten.

            Zum Glueck gab es in der Zwischenzeit ein Blockly update.
            Damit glaube ich auch, dass das hier obsolete ist und man Script Engine ab 7.9.0 verwenden sollte.
            Vielen Danke fuer Deine Hilfe auf jeden Fall...

            LG

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            870
            Online

            31.7k
            Users

            79.7k
            Topics

            1.3m
            Posts

            3
            4
            211
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo