Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Abruf von JSON vom Truckstick

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.0k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Abruf von JSON vom Truckstick

Scheduled Pinned Locked Moved JavaScript
4 Posts 3 Posters 548 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    robbsen
    wrote on last edited by Homoran
    #1

    Hallo Zusammen,

    im TruckiStick (https://github.com/trucki-eu/Trucki2Shelly-Gateway) gibt es zwar einen MQTT Server der liefert jedoch einen Wert nicht (VBat cutoff).
    Ich bin inzwischen soweit, dass http://192.168.x.xxx/json das man den Wert dort abrufe kann, also möchte ich diesen Wert per Script abrufen und in eine Variable schreiben. Leider habe ich sonst immer Blockly genutzt und das ist hier vermutlich fehl am Platz.

    Ich würde mich daher freuen wenn mir jemand bei JavaScript helfen könnte. Bisher bin ich soweit gekommen: Ein Wert kommt leider noch nicht raus.
    Spannend wäre in dem Kontext dann auch gleich die andere Richtung den Wert zu schreiben.

    const axios = require('axios');
    const { setState } = require('iobroker.js-controller');
    
    let vBatCutoffValue;
    
    function getData() {
        axios.get('http://192.168.x.xxx/json')
            .then(response => {
                vBatCutoffValue = response.data.VBATCUTOFF;
                console.log("VBat Cutoff-Wert:", vBatCutoffValue);
                
                // Wert in das Objekt javascript.0.Testwert.1 schreiben
                setState('javascript.0.Testwert.1', vBatCutoffValue);
            })
            .catch(error => {
                console.error('Fehler beim Abrufen der Daten:', error);
            });
    }
    
    // Daten zuerst abrufen
    getData();
    
    // Daten alle 30 Sekunden aktualisieren
    setInterval(getData, 30000); // 30 Sekunden in Millisekunden
    
    
    CodierknechtC 1 Reply Last reply
    0
    • R Offline
      R Offline
      robbsen
      wrote on last edited by
      #2

      Hab zwar schon einen anderen Weg über die Instanz von Parser gefunden, es würde mich dennoch interessieren wie es funktioniere könne :)

      mickymM 1 Reply Last reply
      0
      • R robbsen

        Hab zwar schon einen anderen Weg über die Instanz von Parser gefunden, es würde mich dennoch interessieren wie es funktioniere könne :)

        mickymM Online
        mickymM Online
        mickym
        Most Active
        wrote on last edited by
        #3

        @robbsen Du kannst auch mit einem Blockly den JSON String analysieren.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Reply Last reply
        0
        • R robbsen

          Hallo Zusammen,

          im TruckiStick (https://github.com/trucki-eu/Trucki2Shelly-Gateway) gibt es zwar einen MQTT Server der liefert jedoch einen Wert nicht (VBat cutoff).
          Ich bin inzwischen soweit, dass http://192.168.x.xxx/json das man den Wert dort abrufe kann, also möchte ich diesen Wert per Script abrufen und in eine Variable schreiben. Leider habe ich sonst immer Blockly genutzt und das ist hier vermutlich fehl am Platz.

          Ich würde mich daher freuen wenn mir jemand bei JavaScript helfen könnte. Bisher bin ich soweit gekommen: Ein Wert kommt leider noch nicht raus.
          Spannend wäre in dem Kontext dann auch gleich die andere Richtung den Wert zu schreiben.

          const axios = require('axios');
          const { setState } = require('iobroker.js-controller');
          
          let vBatCutoffValue;
          
          function getData() {
              axios.get('http://192.168.x.xxx/json')
                  .then(response => {
                      vBatCutoffValue = response.data.VBATCUTOFF;
                      console.log("VBat Cutoff-Wert:", vBatCutoffValue);
                      
                      // Wert in das Objekt javascript.0.Testwert.1 schreiben
                      setState('javascript.0.Testwert.1', vBatCutoffValue);
                  })
                  .catch(error => {
                      console.error('Fehler beim Abrufen der Daten:', error);
                  });
          }
          
          // Daten zuerst abrufen
          getData();
          
          // Daten alle 30 Sekunden aktualisieren
          setInterval(getData, 30000); // 30 Sekunden in Millisekunden
          
          
          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #4

          @robbsen
          Deine lokalen IP's musst Du nicht X'en. Die sehen bei allen gleich aus.

          @robbsen sagte in Abruf von JSON vom Truckstick:

          Leider habe ich sonst immer Blockly genutzt und das ist hier vermutlich fehl am Platz.

          Geht mit Blockly genau so gut.
          Wie sieht denn das JSON aus?

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          322

          Online

          32.7k

          Users

          82.3k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe