Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    U
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 88
    • Best 5
    • Groups 1

    Unbekannt

    @Unbekannt

    6
    Reputation
    81
    Profile views
    88
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Unbekannt Follow
    Starter

    Best posts made by Unbekannt

    • RE: Google Home/Assistant

      Danke für das Info Update und dass ihr am Ball bleibt 👍

      posted in ioBroker Allgemein
      U
      Unbekannt
    • iot Adapter - Gerät lässt sich nicht umbenennen

      |Systemdata|

      |Hardwaresystem:| Pi3
      |Arbeitsspeicher:| 1GB
      |Festplattenart:| SD-Karte |
      |Betriebssystem:| Raspbian Lite |
      |Node-Version:| 10.16.0 |
      |Nodejs-Version:| 10.16.0 |
      |NPM-Version:| 6.9.0 |
      |Installationsart:| Skript|
      |Image genutzt:| Nein |

      Hallo,

      ich verzweifel an der Aufgabe, den Gerätenamen im iot-Adapter im Reiter Google Geräte umzubennen.
      Es handelt sich um einen Shelly 2.5 als Sutter konfiguriert und als Datenpunkt ist Position (Level) ausgewählt.


      1.JPG

      Ich schildere mal wie ich das Gerät umbenennen möchte:

      Unter den Google Geräten runterscrollen bis zum Eintrag "Position", dann rechts auf den Stift klicken (bearbeiten).


      2.JPG

      In der Spalte Device Name den Namen "Position" in "Rolladen Balkon" ändern & rechts auf den Haken klicken (Änderung übernehmen).


      3.JPG

      Nun erhalte ich diese Error Meldung:


      4.JPG

      Danach bleibt die Auflistung der Geräte ausgegraut. Im ausgegrauten kann man jedoch den geänderten Namen erkennen.


      5.JPG

      Wenn ich nun in einen anderen Reiter und wieder zurück wechsle, ist der ursprüngliche Gerätename "Position" wieder hergestellt.

      In den erweiterten Einstellungen habe ich Debuggen aktiviert, jedoch sehe ich in den Logs keine Einträge zu dem Error.


      6.JPG

      Ich habe die iot-Adapterversion 1.2.0 installiert


      7.JPG

      Wer kann mir hierbei helfen? oder ist das gar ein Bug im Adapter?

      Gruß Markus

      posted in Error/Bug
      U
      Unbekannt
    • RE: Helium API per GET abrufen (incl. User-Agent)

      @oliverio sagte in Helium API per GET abrufen (incl. User-Agent):

      @unbekannt

      ich habe den folgenden Code ausprobiert. Das schedule habe ich aus testzwecken entfernt.
      Er hat einwandfrei funktioniert.
      Gab es jetzt noch ein Problem.
      Den Useragent hast ja auch ergänzt.
      Hab daher nun kein 429 mehr erhalten.

       
      var axios = require("axios");
       
      async function writeValueOverview() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.Total";
         var v_url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?max_time=2029-01-01T00:00:01Z&min_time=2021-01-01T00:00:01Z'
       
         var data = await getData(v_url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben der summe in datenpunkt
      }
       
      async function writeValueReward1() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte24Stunden";
         var url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-1%20day'
       
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunkt
      }
      async function writeValueReward2() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte7Tage";
         var url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-7%20day'
       
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunk
      }
       
      async function getData(url) {
         try {
             let res = await axios.get(url, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
       
      
      writeValueOverview();
      writeValueReward1();
      writeValueReward2();
      
      
      

      kurzes Update:
      Ich habe den Code (mit schedule) nun seit einigen Tagen fehlerfrei laufen.

      Danke nochmal für deine Hilfestellungen.

      posted in JavaScript
      U
      Unbekannt
    • RE: Google Home Mini ohne Google Account nutzen

      @a200

      Was du ausprobieren könntest, ist folgendes:

      Google Home mini nach Anleitung einrichten. Also Google Home App installieren, GH mini suchen & einrichten.
      Dann im Router den Internettraffic für GoogleHome mini sperren (bei einer Fritzbox: Internet=>Filter=>Kindersicherung=> bei Google Home mini das Zugangsprofil auf gesperrt stellen).

      Theoretisch müsstest du nun noch innerhalb deines Wlans vom Smartphone auf den GHmini streamen können.

      Die Datensammelei (wohl ohne Audioaufnahmen) würde jedoch wahrscheinlich über die Google Home App auf deinem Smartphone weitergehen. Also ganz ohne Datenweitergabe wird es wohl nicht gehen. Jedoch denke ich, dass du so wirksam die Audioaufnahmen unterbinden kannst (falls du dem Mic-Muteschalter an dem GH mini nicht trauen solltest).

      posted in Off Topic
      U
      Unbekannt
    • RE: Stromausfall - Melder in iobroker?

      @brokeling sagte in Stromausfall - Melder in iobroker?:

      ät müsste für

      auf die Schnelle fällt mir

      der Ping Adapter - IP ist erreichbar - ja/nein => dann reagieren
      oder falls du eine Fritzbox hast - der TR064 Adapter

      oder der parser Adapter - bestimmter Text auf Website (z.B. Tasmota Oberfläche) ist vorhanden ja/nein = dann reagieren

      ein.

      Es gibt sicherlich noch einige weitere Methoden, da werden sich sicherlich noch andere User melden 🙂

      posted in ioBroker Allgemein
      U
      Unbekannt

    Latest posts made by Unbekannt

    • RE: Test Adapter Zendure Solarflow

      @nograx

      klar Urlaub geht vor - genieße ihn 🙂

      ich habe in der Tat den Admin einen Tag vorher aktualisiert. Evtl. hing es auch damit zusammen.
      Ob ich beim Solarflow Adapter Versionen übersprungen habe, kann ich nicht zu 100% sagen, ich habe vor dem Update leider nicht auf die damalige Version geachtet. Ich habe allerdings den Adapter erst seit ca 1,5 Wochen installiert. Ich gehe stark davon aus, dass zwischen der Erstinstallation vor 1,5 Wochen und dem letzten Update keine Zwischenupdates waren.
      Ich habe heute morgen mein komplettes System mal neu gestartet und seit dem sind die Fehlermeldungen auch nicht mehr aufgetaucht. Vielleicht hatte sich einfach was verschluckt.

      Danke trotzdem für das schnelle Feedback und die Unterstützung 🙂

      posted in Tester
      U
      Unbekannt
    • RE: Test Adapter Zendure Solarflow

      @Thomas-Braun ich habe den Logauszug im Post oben ergänzt.

      @diet99 hast du einen Tipp für mich, wo ich schauen könnte? "DB closed" klingt für mich nicht so trivial

      posted in Tester
      U
      Unbekannt
    • RE: Test Adapter Zendure Solarflow

      solarflow fehler.JPG

      2024-07-09 09:52:43.661  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.662  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.664  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.668  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.670  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.672  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.672  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.673  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.674  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.675  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.675  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.685  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.688  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.691  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.694  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.695  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.698  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.702  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.703  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.706  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.713  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.720  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.727  - warn: zendure-solarflow.0 (1188482) redis get zendure-solarflow.0.73bkTV.0y8AhPYd.packInputPower, error - DB closed
      2024-07-09 09:52:43.728  - warn: zendure-solarflow.0 (1188482) redis get zendure-solarflow.0.73bkTV.0y8AhPYd.outputHomePower, error - DB closed
      2024-07-09 09:52:43.729  - warn: zendure-solarflow.0 (1188482) redis get zendure-solarflow.0.73bkTV.0y8AhPYd.outputPackPower, error - DB closed
      2024-07-09 09:52:43.730  - warn: zendure-solarflow.0 (1188482) redis get zendure-solarflow.0.73bkTV.0y8AhPYd.solarInputPower, error - DB closed
      2024-07-09 09:52:43.731  - warn: zendure-solarflow.0 (1188482) redis get zendure-solarflow.0.73bkTV.0y8AhPYd.pvPower1, error - DB closed
      2024-07-09 09:52:43.732  - warn: zendure-solarflow.0 (1188482) redis get zendure-solarflow.0.73bkTV.0y8AhPYd.pvPower2, error - DB closed
      2024-07-09 09:52:43.733  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.733  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.734  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.736  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.749  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.750  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.751  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.752  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.753  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.754  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.755  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      2024-07-09 09:52:43.756  - warn: zendure-solarflow.0 (1188482) get state error: DB closed
      

      Nach dem heutigen Update auf 1.6.7 habe ich unzählige Fehler im Log.
      Kann ich selbst irgendwas tun oder muss ich auf das nächste Update warten?

      Gruß Markus

      posted in Tester
      U
      Unbekannt
    • RE: Wie Zustand Dusche tracken?

      Ich schmeiße noch eine Idee in die Runde:
      Geräuschsensor hatten wir ja schon, Wasserrauschen ist wahrscheinlich zu undeutlich wegen Händewaschen, putzen, etc., aber man kann ihn auch anders nutzen: z.B. als Klatschsensor. Das war doch vor vielen Jahren mal ein Hype, dass man mit Händeklatschen die Couchlampe an und ausmachen konnte :-). Und sowas einfach ins Bad integrieren. Damit könnte man auf mehrere Befehle ansteuern, je nachdem wie oft geklatscht wird.

      Hier mal auf die Schnelle ein ergoogelter link: klatschschalter

      Bausatz batteriebetrieben, dann einfach in Kombination mit Wemos, Zigbee oder was auch immer

      posted in Hardware
      U
      Unbekannt
    • RE: Helium API per GET abrufen (incl. User-Agent)

      @oliverio sagte in Helium API per GET abrufen (incl. User-Agent):

      @unbekannt

      ich habe den folgenden Code ausprobiert. Das schedule habe ich aus testzwecken entfernt.
      Er hat einwandfrei funktioniert.
      Gab es jetzt noch ein Problem.
      Den Useragent hast ja auch ergänzt.
      Hab daher nun kein 429 mehr erhalten.

       
      var axios = require("axios");
       
      async function writeValueOverview() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.Total";
         var v_url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?max_time=2029-01-01T00:00:01Z&min_time=2021-01-01T00:00:01Z'
       
         var data = await getData(v_url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben der summe in datenpunkt
      }
       
      async function writeValueReward1() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte24Stunden";
         var url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-1%20day'
       
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunkt
      }
      async function writeValueReward2() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte7Tage";
         var url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-7%20day'
       
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunk
      }
       
      async function getData(url) {
         try {
             let res = await axios.get(url, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
       
      
      writeValueOverview();
      writeValueReward1();
      writeValueReward2();
      
      
      

      kurzes Update:
      Ich habe den Code (mit schedule) nun seit einigen Tagen fehlerfrei laufen.

      Danke nochmal für deine Hilfestellungen.

      posted in JavaScript
      U
      Unbekannt
    • RE: Helium API per GET abrufen (incl. User-Agent)

      @oliverio
      Ja, dass der Fehler wegen zu vieler Anfragen kommt, hatte ich auch recherchiert, daher wollte ich ja den Timeout setzen. Aber du meintest ja, dass es so wie ich es gemacht habe nicht optimal ist.

      Ich habe jetzt einen anderen Ansatz gewählt und einfach mal ganz pragmatisch den cronjob angepasst, damit läuft das Skript auf jeden Fall fehlerfrei.

      Ich danke dir auf jeden Fall für deinen Input, ich habe eine Menge gelernt 🙂

      Für die, die es interessiert, hier das funktionierende Skript. Ihr müsst nur "dp1" und die Miner-ID anpassen:

      
      var axios = require("axios");
      
      async function writeValueOverview() {
         var dp1 = "0_userdata.0.Helium.NoisyMauveOsprey.Total";
         var url = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?max_time=2029-01-01T00:00:01Z&min_time=2022-08-01T00:00:01Z'
      
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben der summe in datenpunkt
      }
      
      async function writeValueReward1() {
         var dp1 = "0_userdata.0.Helium.NoisyMauveOsprey.letzte24Stunden";
         var url = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?min_time=-1%20day'
      
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunkt
      }
      
      async function writeValueReward2() {
         var dp1 = "0_userdata.0.Helium.NoisyMauveOsprey.letzte7Tage";
         var url = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?min_time=-7%20day'
      
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunk
      }
      
      async function writeValueReward3() {
         var dp1 = "0_userdata.0.Helium.NoisyMauveOsprey.letzte30Tage";
         var url = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?min_time=-30%20day'
      
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunk
      } 
      
      async function getData(url) {
         try {
             let res = await axios.get(url, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      
      schedule('35 0,30 * * * *',function() {
         writeValueOverview();
      });
      schedule('40 0,30 * * * *',function() {
         writeValueReward1();
      });
      schedule('45 0,30 * * * *',function() {
         writeValueReward2();
      });
      schedule('50 0,30 * * * *',function() {
         writeValueReward3();
      });
      

      posted in JavaScript
      U
      Unbekannt
    • RE: Helium API per GET abrufen (incl. User-Agent)

      @oliverio
      Ich versuche es mal. Also hier dein Skript mit diesen Anpassungen:

      • Miner ID ergänzt/ausgetauscht
      • Zeile 6 &12 dp2 entfernt (benötige ich nicht)
      • Zeile 9 (url) zu (v_url) geändert (sonst bekomme ich den Fehler, das url nicht definiert ist)
      • Zeile 21 & 29 data.total ergänzt statt Fragezeichen
      • Zeile 30 gelöscht
      • Zeile 42 zum Testen auf jede Minute geändert

      Hier das Skript:

      
      var axios = require("axios");
      
      async function writeValueOverview() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.Total";
         var v_url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?max_time=2029-01-01T00:00:01Z&min_time=2021-01-01T00:00:01Z'
      
         var data = await getData(v_url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben der summe in datenpunkt
      }
      
      async function writeValueReward1() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte24Stunden";
         var url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-1%20day'
      
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunkt
      }
      async function writeValueReward2() {
         var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte7Tage";
         var url = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-7%20day'
      
         var data = await getData(url); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben des rewards in datenpunk
      }
      
      async function getData(url) {
         try {
             let res = await axios.get(url, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      
      schedule('*/1 * * * *',function() {
         writeValueOverview();
         writeValueReward1();
         writeValueReward2();
      });
      

      Ich habe das Skript mal laufen gelassen und festgestellt, das Resultat nach jedem Abruf unterschiedlich ist. Mal bekomme ich einen Fehler, mal mehrere und manchmal keine.
      Hier die Ausgabe:

      Fehler Nr.1

      18.8.2022, 14:12:47.301	[info ]: javascript.0 (1151) Stop script script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver
      18.8.2022, 14:12:47.310	[info ]: javascript.0 (1151) Start javascript script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver
      18.8.2022, 14:12:47.318	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: registered 0 subscriptions and 1 schedule
      18.8.2022, 14:13:00.128	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':0.10191292,'sum':10191292,'stddev':0.010497921837,'min':0,'median':0.01697798,'max':0,'avg':0.016985486666666667}
      18.8.2022, 14:13:00.132	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'message':'Request failed with status code 429','name':'AxiosError','config':{'transitional':{'silentJSONParsing':true,'forcedJSONParsing':true,'clarifyTimeoutError':false},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1,'env':{},'headers':{'User-Agent':'Mozilla/5.0.'},'method':'get','url':'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?max_time=2029-01-01T00:00:01Z&min_time=2021-01-01T00:00:01Z'},'code':'ERR_BAD_REQUEST','status':429}
      18.8.2022, 14:13:00.133	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: undefined
      18.8.2022, 14:13:00.136	[error]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: TypeError: Cannot read property 'total' of undefined
      18.8.2022, 14:13:00.136	[error]: javascript.0 (1151)     at writeValueOverview (script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver:10:23)
      18.8.2022, 14:13:00.361	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'message':'Request failed with status code 429','name':'AxiosError','config':{'transitional':{'silentJSONParsing':true,'forcedJSONParsing':true,'clarifyTimeoutError':false},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1,'env':{},'headers':{'User-Agent':'Mozilla/5.0.'},'method':'get','url':'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-7%20day'},'code':'ERR_BAD_REQUEST','status':429}
      18.8.2022, 14:13:00.361	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: undefined
      18.8.2022, 14:13:00.362	[error]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: TypeError: Cannot read property 'total' of undefined
      18.8.2022, 14:13:00.363	[error]: javascript.0 (1151)     at writeValueReward2 (script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver:27:23)
      18.8.2022, 14:13:11.414	[info ]: javascript.0 (1151) Stop script script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver
      


      Fehler Nr.2

      18.8.2022, 14:24:08.120	[info ]: javascript.0 (1151) Start javascript script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver
      18.8.2022, 14:24:08.131	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: registered 0 subscriptions and 1 schedule
      18.8.2022, 14:25:00.125	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'message':'Request failed with status code 429','name':'AxiosError','config':{'transitional':{'silentJSONParsing':true,'forcedJSONParsing':true,'clarifyTimeoutError':false},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1,'env':{},'headers':{'User-Agent':'Mozilla/5.0.'},'method':'get','url':'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-7%20day'},'code':'ERR_BAD_REQUEST','status':429}
      18.8.2022, 14:25:00.126	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: undefined
      18.8.2022, 14:25:00.127	[error]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: TypeError: Cannot read property 'total' of undefined
      18.8.2022, 14:25:00.127	[error]: javascript.0 (1151)     at writeValueReward2 (script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver:27:23)
      18.8.2022, 14:25:00.131	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':1.49197495,'sum':149197495,'stddev':0.0097176223317734,'min':0,'median':0.00827458,'max':0,'avg':0.013321204910714285}
      18.8.2022, 14:25:00.141	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':0.10191292,'sum':10191292,'stddev':0.010497921837,'min':0,'median':0.01697798,'max':0,'avg':0.016985486666666667}
      


      hier mal kein Fehler

      18.8.2022, 14:26:00.045	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':0.10191292,'sum':10191292,'stddev':0.010497921837,'min':0,'median':0.01697798,'max':0,'avg':0.016985486666666667}
      18.8.2022, 14:26:00.049	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':1.49197495,'sum':149197495,'stddev':0.0097176223317734,'min':0,'median':0.00827458,'max':0,'avg':0.013321204910714285}
      18.8.2022, 14:26:00.131	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':0.33453871,'sum':33453871,'stddev':0.010191871516,'min':0,'median':0.00766701,'max':0,'avg':0.0133815484}
      


      Fehler Nr.3

      18.8.2022, 14:29:00.047	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':0.33453871,'sum':33453871,'stddev':0.010191871516,'min':0,'median':0.00766701,'max':0,'avg':0.0133815484}
      18.8.2022, 14:29:00.121	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'message':'Request failed with status code 429','name':'AxiosError','config':{'transitional':{'silentJSONParsing':true,'forcedJSONParsing':true,'clarifyTimeoutError':false},'transformRequest':[null],'transformResponse':[null],'timeout':0,'xsrfCookieName':'XSRF-TOKEN','xsrfHeaderName':'X-XSRF-TOKEN','maxContentLength':-1,'maxBodyLength':-1,'env':{},'headers':{'User-Agent':'Mozilla/5.0.'},'method':'get','url':'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-1%20day'},'code':'ERR_BAD_REQUEST','status':429}
      18.8.2022, 14:29:00.121	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: undefined
      18.8.2022, 14:29:00.122	[error]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: TypeError: Cannot read property 'total' of undefined
      18.8.2022, 14:29:00.122	[error]: javascript.0 (1151)     at writeValueReward1 (script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver:19:23)
      18.8.2022, 14:29:00.126	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':1.49197495,'sum':149197495,'stddev':0.0097176223317734,'min':0,'median':0.00827458,'max':0,'avg':0.013321204910714285}
      18.8.2022, 14:30:00.044	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':1.49197495,'sum':149197495,'stddev':0.0097176223317734,'min':0,'median':0.00827458,'max':0,'avg':0.013321204910714285}
      18.8.2022, 14:30:00.125	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':0.10191292,'sum':10191292,'stddev':0.010497921837,'min':0,'median':0.01697798,'max':0,'avg':0.016985486666666667}
      18.8.2022, 14:30:00.128	[info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.Originalskript_von_Oliver: {'total':0.33453871,'sum':33453871,'stddev':0.010191871516,'min':0,'median':0.00766701,'max':0,'avg':0.0133815484}
      
      

      Wie du siehst geht es manchmal gut, manchmal aber auch nicht. Wie würdest du das lösen?

      posted in JavaScript
      U
      Unbekannt
    • RE: Helium API per GET abrufen (incl. User-Agent)

      @oliverio

      Wenn ich dein zuletzt gepostetes Skript nutze (plus ergänzend der Timeout), sprich Sktipt2 in meinem letzten Post, dann bekomme ich eine analoge Fehlermeldung:

      17.8.2022, 15:17:02.151 [info ]: javascript.0 (1151) Stop script script.js.Allgemein.Crypto.Helium.test
      17.8.2022, 15:17:02.255 [info ]: javascript.0 (1151) Start javascript script.js.Allgemein.Crypto.Helium.test
      17.8.2022, 15:17:02.291 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.test: registered 0 subscriptions and 1 schedule
      17.8.2022, 15:17:02.293 [error]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.test: ReferenceError: writeValueOverview is not defined
      17.8.2022, 15:17:02.293 [error]: javascript.0 (1151) at script.js.Allgemein.Crypto.Helium.test:75:1
      17.8.2022, 15:17:02.293 [error]: javascript.0 (1151) at script.js.Allgemein.Crypto.Helium.test:79:3
      17.8.2022, 15:17:03.451 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.test: {'total':0.3685975,'sum':36859750,'stddev':0.0094209479866946,'min':0,'median':0.01122825,'max':0,'avg':0.012710258620689655}
      17.8.2022, 15:17:04.390 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.test: {'total':0.06173936,'sum':6173936,'stddev':0.018747958871,'min':0,'median':0.01570541,'max':0,'avg':0.020579786666666666}
      17.8.2022, 15:17:05.389 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.test: {'total':0.3685975,'sum':36859750,'stddev':0.0094209479866946,'min':0,'median':0.01122825,'max':0,'avg':0.012710258620689655}
      17.8.2022, 15:17:06.625 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.test: {'total':0.3685975,'sum':36859750,'stddev':0.0094209479866946,'min':0,'median':0.01122825,'max':0,'avg':0.012710258620689655}
      
      

      Mir ist bewusst, dass writeValueOverview nicht definiert ist, ich weiß nur nicht wie ich das mache. Thema fehlendes Basiswissen zum Thema Javascript. Bisher habe ich meine Skripte immer irgendwie zusammenkopiert nach dem try&error Prinzip.

      Da in dem Skript vom Prinzip 4 mal der gleiche Code genutzt wird, verstehe ich nicht, warum der Fehler nur bei einer Funktion vorhanden ist und nicht bei allen vieren. Vor allem, weil das Skript ja erfolgreich die Daten holt. Muss ich am Anfang im Skript einfach eine Definition festlegen? Wenn ja, wie mache ich das?

      posted in JavaScript
      U
      Unbekannt
    • RE: Helium API per GET abrufen (incl. User-Agent)

      @oliverio
      Vielen Dank.
      Im Grunde möchte ich nur vier Datenobjekte mit Daten füttern:

      • Walletguthaben

      • HNT letzte 24h

      • HNT letzte 7 Tage

      • HNT letzte 30 Tage

      Bei meinen urls nutze ich die Bucketfunktion nicht, sondern bekomme nur eine Zeile wo ich dann den data.total Wert abgreifen kann.

      Ich habe gestern ein wenig rum getestet und festgestellt, dass sich das Skript (oder API oder was auch immer ) bei zu vielen gleichzeitigen Abrufen verschluckt und der Wert data.total dann bei einem der Datenpunkte (variiert meist) nicht ausgelesen werden kann. Manchmal geht es gut, und man bekommt alle vier Daten ausgelesen, häufig waren es aber nur 3. Daher habe ich einen Timeout eingebaut. Damit funktioniert es zuverlässig.
      Zum Testen habe ich als Basis dein erstes Skript genutzt, aber auch dein zuletzt gepostetes Skript für meine Bedürfnisse angepasst.

      Skript1

      var dp1 = "0_userdata.0.Helium.TrendyGunmetalHare.Total";
      var dp2 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte24Stunden";
      var dp3 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte7Tage";
      var dp4 = "0_userdata.0.Helium.TrendyGunmetalHare.letzte30Tage";
      var axios = require("axios");
      var v_url1 = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?max_time=2029-01-01T00:00:01Z&min_time=2021-01-01T00:00:01Z'
      var v_url2 = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-1%20day' 
      var v_url3 = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-7%20day'
      var v_url4 = 'https://api.helium.io/v1/hotspots/112WPeSWTzHYzbQRZhQ95mJqpXjkeB1JpBLUS3amEAZiMANMH8Ty/rewards/sum/?min_time=-30%20day'
      setTimeout(async function writeValue1() {
             var data = await getData1();
             log(data);
             setState(dp1,data.total);
         },1000);
      async function getData1() {
         try {
             let res = await axios.get(v_url1, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      setTimeout(async function writeValue2() {
             var data = await getData2();
             log(data);
             setState(dp2,data.total);
         },2000);
      async function getData2() {
         try {
             let res = await axios.get(v_url2, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      setTimeout(async function writeValue3() {
             var data = await getData3();
             log(data);
             setState(dp3,data.total);
         },3000);
      async function getData3() {
         try {
             let res = await axios.get(v_url3, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      setTimeout(async function writeValue4() {
             var data = await getData4();
             log(data);
             setState(dp4,data.total);
         },4000);
      async function getData4() {
         try {
             let res = await axios.get(v_url4, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      schedule('*/30 * * * *',function() {
         writeValue1();
         writeValue2();
         writeValue3();
         writeValue4();
      }); 
      //test();
      writeValue1();
      writeValue2();
      writeValue3();
      writeValue4();
      

      Skript2

      var axios = require("axios");
      
      setTimeout(async function writeValueOverview() {
         var dp1 = "0_userdata.0.Helium.NoisyMauveOsprey.Total";
         var url1 = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?max_time=2029-01-01T00:00:01Z&min_time=2022-08-01T00:00:01Z'
      
         var data = await getData(url1); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp1,data.total); // schreiben der summe in datenpunkt
      }, 1000);
      setTimeout(async function writeValueReward1() {
         var dp2 = "0_userdata.0.Helium.NoisyMauveOsprey.letzte24Stunden";
         var url2 = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?min_time=-1%20day'
      
         var data = await getData(url2); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp2,data.total); // schreiben des rewards in datenpunkt
      }, 2000);
      setTimeout(async function writeValueReward2() {
         var dp3 = "0_userdata.0.Helium.NoisyMauveOsprey.letzte7Tage";
         var url3 = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?min_time=-7%20day'
      
         var data = await getData(url3); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp3,data.total); // schreiben des rewards in datenpunk
      }, 3000);
      setTimeout(async function writeValueReward3() {
         var dp4 = "0_userdata.0.Helium.NoisyMauveOsprey.letzte30Tage";
         var url4 = 'https://api.helium.io/v1/hotspots/11wWXAuRHec8cfqLz3tc5CaVbMhUX4SW7YWHGRYGRm8WqULrFtY/rewards/sum/?min_time=-30%20day'
      
         var data = await getData(url4); //abruf der daten
         log(data);  // ausgabe des ergebnisses auf der debug-console
         setState(dp4,data.total); // schreiben des rewards in datenpunk
      }, 4000);
      async function getData(url1) {
         try {
             let res = await axios.get(url1, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      async function getData(url2) {
         try {
             let res = await axios.get(url2, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      async function getData(url3) {
         try {
             let res = await axios.get(url3, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      }
      async function getData(url4) {
         try {
             let res = await axios.get(url4, { headers: { 'User-Agent': 'Mozilla/5.0.' } });
             return res.data.data;
         } catch (e) {
             log(e)
         }
      } 
      schedule('*/30 * * * *',function() {
         writeValueOverview();
         writeValueReward1();
         writeValueReward2();
         writeValueReward3();
      });
      //test(); 
      writeValueOverview();
      writeValueReward1();
      writeValueReward2();
      writeValueReward3(); 
      

      Bei beiden funktioniert das Auslesen gut, allerdings bekomme ich jeweils drei Fehlerzeilen angezeigt, die ich (wahrscheinlich aus fehlendem Basiswissen) nicht behoben bekomme:

      17.8.2022, 09:48:06.431 [info ]: javascript.0 (1151) Start javascript script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare
      17.8.2022, 09:48:06.479 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare: registered 0 subscriptions and 1 schedule
      17.8.2022, 09:48:06.481 [error]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare: ReferenceError: writeValue1 is not defined
      17.8.2022, 09:48:06.481 [error]: javascript.0 (1151) at script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare:69:1
      17.8.2022, 09:48:06.481 [error]: javascript.0 (1151) at script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare:73:3
      17.8.2022, 09:48:07.658 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare: {'total':1.39006203,'sum':139006203,'stddev':0.0096834757243116,'min':0,'median':0.00827458,'max':0,'avg':0.013113792735849056}
      17.8.2022, 09:48:08.582 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare: {'total':0.02237045,'sum':2237045,'stddev':0.0026280645619987,'min':0,'median':0.00729542,'max':0,'avg':0.007456816666666667}
      17.8.2022, 09:48:09.582 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare: {'total':0.26189041,'sum':26189041,'stddev':0.0094876854151907,'min':0,'median':0.00765452,'max':0,'avg':0.011386539565217391}
      17.8.2022, 09:48:10.577 [info ]: javascript.0 (1151) script.js.Allgemein.Crypto.Helium.TrendyGunmetalHare: {'total':0.8288541,'sum':82885410,'stddev':0.0096992973232438,'min':0,'median':0.00748039,'max':0,'avg':0.012558395454545455}
      
      

      Könntest du mir hierbei nochmal unter die Arme greifen?
      Besten Dank 🙂

      posted in JavaScript
      U
      Unbekannt
    • RE: Helium API per GET abrufen (incl. User-Agent)

      Erstmal vielen Dank für eure Vorarbeit. Das hat mir schon mal weitergeholfen.
      Ich möchte gerne die Rewards der letzten 24h, 7 Tage & 30 Tage auslesen und das in das o.g. Skript einbauen.

      Laut API kann ich das wie folgt abfragen

      https://api.helium.io/v1/hotspots/HOTSPOT_ID/rewards/sum/?min_time=-1%20day
      https://api.helium.io/v1/hotspots/HOTSPOT_ID/rewards/sum/?min_time=-7%20day
      https://api.helium.io/v1/hotspots/HOTSPOT_ID/rewards/sum/?min_time=-30%20day
      

      Ich könnte das o.g. Skript auch drei mal kopieren und den Link tauschen, aber ich schätze, das geht auch so, dass alle vier Links in einem Skript abgefragt werden, leider habe ich davon keine Ahnung. Kann mir hierbei jemand helfen?

      Gruß Markus

      posted in JavaScript
      U
      Unbekannt
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo