Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. jacusi

    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

    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 8
    • Best 2
    • Groups 1

    jacusi

    @jacusi

    Starter

    2
    Reputation
    19
    Profile views
    8
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    jacusi Follow
    Starter

    Best posts made by jacusi

    • RE: JavaScript zum Auslesen der Tibber API?

      @skorpil Zunächst müssen Sie ein Zugriffstoken von Tibbers API erhalten. Befolgen Sie dazu die Anweisungen auf der Website von Tibber.
      Nachdem Sie Ihr Zugriffstoken erhalten haben, können Sie die Abruffunktion von JavaScript verwenden, um Aufrufe an die Tibber-API auszuführen. Hier ist ein Beispiel für Code, der Daten von der Tibber-API erhält:

      const accessToken = "your_access_token_here";
      
      fetch('https://api.tibber.com/v1-beta/gql', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Authorization': `Bearer ${accessToken}`
        },
        body: JSON.stringify({
          query: `
            {
              viewer {
                homes {
                  currentSubscription {
                    priceInfo {
                      current {
                        total
                        energy
                      }
                    }
                  }
                }
              }
            }
          `
        })
      })
      .then(response => response.json())
      .then(data => {
        const energy = data.data.viewer.homes[0].currentSubscription.priceInfo.current.energy;
        const total = data.data.viewer.homes[0].currentSubscription.priceInfo.current.total;
        console.log(`Current energy usage: ${energy} kWh`);
        console.log(`Current total cost: ${total} NOK`);
      })
      .catch(error => {
        console.error('Error retrieving data from Tibber API', error);
      });
      
      

      In diesem Beispiel verwenden wir die get-Funktion, um eine POST-Anforderung an die GraphQL-API von Tibber zu senden, einschließlich des Zugriffstokens als Trägertoken im Authorization-Header. Dann geben wir als Anforderungstext die GraphQL-Abfrage ein, die den aktuellen Energieverbrauch und die Gesamtkosten für das Haus des Benutzers zurückgibt.
      Hoffe das hilft

      posted in JavaScript
      J
      jacusi
    • RE: JavaScript zum Auslesen der Tibber API?

      @skorpil Okay, wenn die get()-Funktion in der iobroker-JavaScript-Umgebung nicht zugänglich ist, können Sie HTTP-Anforderungen mit einer anderen Technik stellen, z. B. mit dem Anforderungsmodul. Hier ist ein Beispiel dafür, wie das Anforderungsmodul verwendet werden kann, um einen GET-Aufruf an die Tibber-API zu senden:

      const request = require('request');
      const API_TOKEN = "YOUR_API_TOKEN";
      const HOME_ID = "YOUR_HOME_ID";
      
      const options = {
          url: `https://api.tibber.com/v1/home/${HOME_ID}`,
          headers: {
              Authorization: `Bearer ${API_TOKEN}`
          }
      };
      
      request(options, (error, response, body) => {
          if (error) {
              console.error(error);
              return;
          }
      
          const data = JSON.parse(body);
          const currentPower = data.data.liveMeasurement.power;
          console.log(`Current power: ${currentPower} W`);
      });
      
      

      In diesem Beispiel führen wir mithilfe des Anforderungsmoduls eine GET-Anforderung an die Tibber-API aus. Da der Antwortinhalt ein String ist, verwenden wir JSON.parse(), um ihn in ein JavaScript-Objekt umzuwandeln. Wir können den aktuellen Stromverbrauch extrahieren und in einer Variablen speichern, nachdem wir die Daten als JavaScript-Objekt erhalten haben.

      Bevor Sie das Anforderungsmodul verwenden können, müssen Sie es zunächst in Ihrer iobroker-Umgebung installieren. Sie können es auf Ihrem iobroker-Terminal installieren, indem Sie den folgenden Befehl eingeben:

      npm install request
      
      

      Hoffe das hilft

      posted in JavaScript
      J
      jacusi

    Latest posts made by jacusi

    • Abstract base class

      Ich muss dieses einfache Java-Beispiel für eine abstrakte Basisklasse in Dart konvertieren, damit ich eine grundlegende Vorstellung davon habe, wie es in Dart gemacht wird. Das Beispiel enthält eine abstrakte Basisklasse (natürlich mit abstrakten Methoden), Polymorphismus, Casting von Objekten, Methodenüberladung (in diesem Fall den Konstruktor), Aufruf von Superkonstruktoren und Aufrufen eines überladenen eigenen Konstruktors.

      // Abstract base class
      abstract class Vehicle {
          protected final int maxSpeed;
          protected int speed;
          
          Vehicle() {
              this(0);
          }
          
          Vehicle(int maxSpeed) {
              this.maxSpeed = maxSpeed;
              speed = 0;
          }
          
          public int getMaxSpeed() {
              return maxSpeed;
          }
          
          abstract void accelerate();
          abstract void brake();
      }
      
      // Subclass of Vehicle, the abstract baseclass
      class Car extends Vehicle {
          public final int doors;
          
          Car(int maxSpeed, int doors) {
              super(maxSpeed);
              this.doors = doors;
          }
          
          @Override
          void accelerate() {
              if (speed>maxSpeed) {
                  speed = maxSpeed;
                  return;
              }
              speed += 2;
          }
      
          @Override
          void brake() {
              if (speed - 2 < 0) {
                  speed = 0;
                  return;
              }
              this.speed -= 2;
          }
      }
      

      Ich programmiere seit ungefähr zwei Jahren in Java, konzentriere mich aber derzeit mehr auf die Webentwicklung und damit auf Javascript, oder in meinem Fall Dart. Ich möchte abstrakte Basisklassen für ein Projekt haben, an dem ich arbeite, ähnlich wie ich es in Java tun würde. Ich habe im Internet gesucht, aber nichts über abstrakte Klassen in Dart gefunden. Ich habe diesen Artikel nur auf der Scaler-Website gefunden, die das Schlüsselwort abstract für eine Klasse in einem Beispiel verwendet. Aber ich bin mir nicht sicher, ob ich das Mixins-Konzept verstehe.

      Und wie würde diese einfache Umsetzung aussehen?

      // Polymorphism
      Vehicle car = new Car(180, 4);
      
      // Casting
      int doors = ((Car)car).doors;
      
      // Calling abstract method
      car.accelerate();
      
      posted in JavaScript
      J
      jacusi
    • RE: JavaScript zum Auslesen der Tibber API?

      @skorpil Okay, wenn die get()-Funktion in der iobroker-JavaScript-Umgebung nicht zugänglich ist, können Sie HTTP-Anforderungen mit einer anderen Technik stellen, z. B. mit dem Anforderungsmodul. Hier ist ein Beispiel dafür, wie das Anforderungsmodul verwendet werden kann, um einen GET-Aufruf an die Tibber-API zu senden:

      const request = require('request');
      const API_TOKEN = "YOUR_API_TOKEN";
      const HOME_ID = "YOUR_HOME_ID";
      
      const options = {
          url: `https://api.tibber.com/v1/home/${HOME_ID}`,
          headers: {
              Authorization: `Bearer ${API_TOKEN}`
          }
      };
      
      request(options, (error, response, body) => {
          if (error) {
              console.error(error);
              return;
          }
      
          const data = JSON.parse(body);
          const currentPower = data.data.liveMeasurement.power;
          console.log(`Current power: ${currentPower} W`);
      });
      
      

      In diesem Beispiel führen wir mithilfe des Anforderungsmoduls eine GET-Anforderung an die Tibber-API aus. Da der Antwortinhalt ein String ist, verwenden wir JSON.parse(), um ihn in ein JavaScript-Objekt umzuwandeln. Wir können den aktuellen Stromverbrauch extrahieren und in einer Variablen speichern, nachdem wir die Daten als JavaScript-Objekt erhalten haben.

      Bevor Sie das Anforderungsmodul verwenden können, müssen Sie es zunächst in Ihrer iobroker-Umgebung installieren. Sie können es auf Ihrem iobroker-Terminal installieren, indem Sie den folgenden Befehl eingeben:

      npm install request
      
      

      Hoffe das hilft

      posted in JavaScript
      J
      jacusi
    • RE: JavaScript zum Auslesen der Tibber API?

      @skorpil Zunächst müssen Sie ein Zugriffstoken von Tibbers API erhalten. Befolgen Sie dazu die Anweisungen auf der Website von Tibber.
      Nachdem Sie Ihr Zugriffstoken erhalten haben, können Sie die Abruffunktion von JavaScript verwenden, um Aufrufe an die Tibber-API auszuführen. Hier ist ein Beispiel für Code, der Daten von der Tibber-API erhält:

      const accessToken = "your_access_token_here";
      
      fetch('https://api.tibber.com/v1-beta/gql', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Authorization': `Bearer ${accessToken}`
        },
        body: JSON.stringify({
          query: `
            {
              viewer {
                homes {
                  currentSubscription {
                    priceInfo {
                      current {
                        total
                        energy
                      }
                    }
                  }
                }
              }
            }
          `
        })
      })
      .then(response => response.json())
      .then(data => {
        const energy = data.data.viewer.homes[0].currentSubscription.priceInfo.current.energy;
        const total = data.data.viewer.homes[0].currentSubscription.priceInfo.current.total;
        console.log(`Current energy usage: ${energy} kWh`);
        console.log(`Current total cost: ${total} NOK`);
      })
      .catch(error => {
        console.error('Error retrieving data from Tibber API', error);
      });
      
      

      In diesem Beispiel verwenden wir die get-Funktion, um eine POST-Anforderung an die GraphQL-API von Tibber zu senden, einschließlich des Zugriffstokens als Trägertoken im Authorization-Header. Dann geben wir als Anforderungstext die GraphQL-Abfrage ein, die den aktuellen Energieverbrauch und die Gesamtkosten für das Haus des Benutzers zurückgibt.
      Hoffe das hilft

      posted in JavaScript
      J
      jacusi
    • Funktion deklarierte Datei JavaScript

      file 13-add.js

      function add(a, b) {
        return parseInt(a) + parseInt(b);
      }
      

      die main.js-Datei

      const add = require('./13-add').add;
      console.log(add(3, 5));
      

      Ich versuche, die add-Methode in 13-add.js von main.js aufzurufen, aber wenn ich main.js ausführe, gibt es einen Fehler $./13-main.js zurück

      console.log(add(3, 5));
                  ^
      
      TypeError: add is not a function
          at Object.<anonymous> 
      

      Am Anfang der Datei 13-add.js habe ich add() eingefügt:

      add();
      function add(a, b) {
        return parseInt(a) + parseInt(b);
      }
      

      Der Fehler bleibt jedoch derselbe.

      posted in JavaScript
      J
      jacusi
    • RE: Programmsuchdatei in Java

      @oliverio oh vielen dank dafür

      posted in JavaScript
      J
      jacusi
    • Programmsuchdatei in Java

      Ich möchte ein Dateisuchtool in Java erstellen, das sowohl unter Linux als auch unter Windows funktioniert. Ich bin mit Windows vertraut, aber ich bin nicht mit Linux vertraut. Diese Logik wird verwendet, um alle Discs in den Fenstern anzuzeigen.

      package test;
      
      import java.io.File;
      
      public class Test {
      public static void main(String[] args) {
          File[] drives = File.listRoots();
          String temp = "";
          for (int i = 0; i < drives.length; i++) {
              temp += drives[i];
          }
      
          String[] dir = temp.split("\\\\");
          for (int i = 0; i < dir.length; i++) {
              System.out.println(dir[i]);
      
          }
      }
      }
      

      Bei Verwendung in Windows zeigt der obige Code alle Roots wie c:, d: usw. an, aber bei Verwendung in Linux zeigt er nur / an. Ich verwende diese Argumentation auch, um eine bestimmte Datei in Windows zu finden.

      public void findFile(String name,File file)
      {
          File[] list = file.listFiles();
          if(list!=null)
          for (File fil : list)
          {
              if (fil.isDirectory())
              {
                  findFile(name,fil);
              }
              else if (name.equalsIgnoreCase(fil.getName()))
              {
                  System.out.println(fil.getParentFile());
              }
          }
      }
      

      Es funktioniert gut, aber meine Schwierigkeit besteht darin, herauszufinden, wie es unter Linux geht; Ich bin neu bei Linux und habe keine Ahnung, wie es geht, und mir läuft die Zeit davon; Jede Hilfe wäre sehr willkommen.

      posted in JavaScript
      J
      jacusi
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo