Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Webinterface parsen mit dem parse Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Webinterface parsen mit dem parse Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @D3ltoroxp last edited by

      @d3ltoroxp sagte in Webinterface parsen mit dem parse Adapter:

      Welche Bibliothek ist das denn, ich sehe da nichts. Oder meinst du das hier ?

      Die Bibliothek nennt sich so wie ganz oben an der Seite steht

      @gibme/starlink
      

      dieser protobuf-compiler steht ja als special notice und wenn man da liest, ist das nur für Leute interessant, die die Bibliothek weiterentwickeln wollen

      If you are working on this package, or load this package from git, you will need to manually run yarn build:protobuf to generate the protobufs code

      Ich interpretiere das so, aber wir werden sehen.

      Also du machst der Reihe nach folgendes

      Du öffnest im iobroker die Einstellungsseite des javascript-Adapters
      455de91e-adc6-4bfe-aa6e-6924688ab8ba-image.png

      Dann trägst du hier den Bibliotheksname exakt so ein, wie ich oben notiert habe und speicherst die Einstellungen

      38fb15d9-3300-48d0-b15d-c9208ef31bf9-image.png

      Dann legst du im Javascript-Adapter ein neues Javascript-Skript an und kopierst bspw (Copy/Paste von der NPM-Seite)

      import { Dishy } from '@gibme/starlink';
      
      (async () => {
          const dishy = new Dishy();
          
          const diagnostics = await dishy.fetch_diagnostics();
          
          console.log(diagnostics);
      })();
      

      in das Skript, speicherst und startest das Skript.
      Dann müsstest du im Konsolenbereich des Skripts entweder eine Fehlermeldung oder die Ausgabe der diagnostik-Dateien sehen.

      D3ltoroxp 1 Reply Last reply Reply Quote 1
      • D3ltoroxp
        D3ltoroxp @OliverIO last edited by

        @oliverio Erst mal vielen vielen Dank für deine kleine Anleitung. Leider kommt folgendes in der Log, denke das gehört hier dazu.

        
        javascript.0
        2025-01-26 18:36:54.466	error	at processImmediate (node:internal/timers:485:21)
        
        javascript.0
        2025-01-26 18:36:54.466	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:2322:17)
        
        javascript.0
        2025-01-26 18:36:54.466	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2224:37)
        
        javascript.0
        2025-01-26 18:36:54.466	error	at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1956:21)
        
        javascript.0
        2025-01-26 18:36:54.466	error	at new Script (node:vm:117:7)
        
        javascript.0
        2025-01-26 18:36:54.466	error	SyntaxError: Cannot use import statement outside a module
        
        javascript.0
        2025-01-26 18:36:54.465	error	^^^^^^
        
        javascript.0
        2025-01-26 18:36:54.465	error	import { Dishy } from '@gibme/starlink';
        
        javascript.0
        2025-01-26 18:36:54.465	error	script.js.Starlink.Test compile failed: at script.js.Starlink.Test:2
        
        javascript.0
        2025-01-26 18:36:53.925	error	at Script.runInContext (node:vm:149:12)
        
        OliverIO 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @D3ltoroxp last edited by

          @d3ltoroxp

          Dann probiere folgendes

          const Dishy = require("@gibme/starlink").Dishy;
           
          (async () => {
              const dishy = new Dishy();
              
              const diagnostics = await dishy.fetch_diagnostics();
              
              console.log(diagnostics);
          })();
          
          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @OliverIO last edited by Codierknecht

            @oliverio

            Oder so - damit man auch schnell und einfach auf die anderen Klassen zugreifen kann:

            const starlink = require('@gibme/starlink');
            
            async function test() {
                const dishy = new starlink.Dishy();
                const diagnostics = await dishy.fetch_diagnostics();
                log(diagnostics);
            };
            
            test();
            
            D3ltoroxp 1 Reply Last reply Reply Quote 0
            • D3ltoroxp
              D3ltoroxp @Codierknecht last edited by D3ltoroxp

              @codierknecht Was meinst du mit Klassen ?

              Hab mal deinen Code verwendet, es kommt nichts. Keine Infos keine Fehler.

              @OliverIO Bei deinem leider auch nichts.

              OliverIO Codierknecht 2 Replies Last reply Reply Quote 0
              • OliverIO
                OliverIO @D3ltoroxp last edited by

                @d3ltoroxp
                ist überhaupt in der konsole was zu sehen?
                zumindest sollte es so aussehen

                javascript.0	19:49:34.701	info	Start JavaScript script.js.starlink (Javascript/js)
                javascript.0	19:49:34.712	info	script.js.starlink: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                
                
                D3ltoroxp 1 Reply Last reply Reply Quote 0
                • D3ltoroxp
                  D3ltoroxp @OliverIO last edited by

                  @oliverio Hier erscheint gar nichts.

                  4cc0c29a-9a94-4665-a7b9-a9cd7e580ed6-image.png

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @D3ltoroxp last edited by

                    @d3ltoroxp sagte in Webinterface parsen mit dem parse Adapter:

                    Was meinst du mit Klassen ?

                    Im Paket sind mehrere Klassen deklariert: Dishy, WiFiRouter .

                    class Dishy extends grpc_api_1.default {
                    ...
                    

                    Wenn man das komplette Paket importiert, kann man die jeweils benötigte Klasse dynamisch instanziieren.

                    1 Reply Last reply Reply Quote 1
                    • OliverIO
                      OliverIO @D3ltoroxp last edited by

                      @d3ltoroxp aad83832-41c8-4140-b9c0-1f658a8ecdf3-image.png

                      D3ltoroxp 1 Reply Last reply Reply Quote 0
                      • D3ltoroxp
                        D3ltoroxp @OliverIO last edited by

                        @oliverio Hm komisch. Bei dem ersten von dir kam ja die Fehlermeldung. Bei den beiden anderen kommt gar nichts mehr. Vllt muss ich irgendwo die Log Stufe ändern ?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        738
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        5
                        25
                        923
                        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