Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Withings Daten einlesen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Withings Daten einlesen

Scheduled Pinned Locked Moved Skripten / Logik
126 Posts 27 Posters 32.7k Views 19 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.
  • D Offline
    D Offline
    dtp
    wrote on last edited by
    #59

    Ha, es funktioniert! 8-)

    Kurzum, Schritt 4 ist gar nicht notwendig.

    Hab jetzt einfach mal folgende Werte in https://forum.iobroker.net/viewtopic.php?f=21&t=1206&p=150595#p150366 eingetragen:

    var consumerKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // API Key
        consumerSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // API Secret
        oauth_access_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // oauth_token aus Step 3
        oauth_access_token_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // oauth_token_secret aus Step 3
        userid = "xxxxxxxx"; // userid aus Step 3
    
    

    Damit erhalte ich nun folgende Werte (hab das Skript dazu von Withings auf Nokia angepasst):

    996_2018-05-18_09h46_48.png
    Ich habe aber zusätzlich noch die Zeile

    var url = nokia.signUrl("http://wbsapi.withings.net/measure?action=getmeas&limit=1&userid=" + userid, oauth_access_token, oauth_access_token_secret);
    

    ersetzt durch

    var url = nokia.signUrl("https://api.health.nokia.com/measure?action=getmeas&userid=" + userid, oauth_access_token, oauth_access_token_secret);
    

    Damit funktioniert es auch, und es besteht keine Abhängigkeit mehr vom ggf. veralteten Withings-Server.

    Jetzt würde ich noch gerne die Werte meines Nokia Sleep abfragen. Das dürfte mit

    https://api.health.nokia.com/v2/sleep?action=getsummary
    

    gehen. Muss nur noch mal schauen, wie ich das in das Skript von ruhr70 eingebunden bekomme.

    Gruß,

    Thorsten

    ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dtp
      wrote on last edited by
      #60

      Hi,

      ich stelle mir ein angepassten Skripte dann in etwa so vor:

      ! ```
      var logOn = true; // true: zusätzliche Ausgaben im ioBroker Log ! var username = "Thorsten"; ! var consumerKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // API Key consumerSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // API Secret oauth_access_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // oauth_token aus Step 3 oauth_access_token_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // oauth_token_secret aus Step 3 userid = "xxxxxxxxx"; // userid aus Step 3 ! var pfad = "Nokia."+username+"."; // Pfad, in dem neue Datenpunkte angelegt werden sollen ! var subPfadKoerperwerte = "Körperwerte"; // Unterordner, in dem die Köperwerte angelegt werden var subPfadSleep = "Sleep"; // Unterordner, in dem die Schlafwerte angelegt werden ! var historyEin = true; // true: automatisch History beim Anlegen der Datenpunkte konfigurieren var historyInstanz = "sql.0"; // Historyinstanz, z.B.: "sql.0" var historyChangesOnly = true; // false: alle Werte werden aufgezeichnet var historyRentention = 0; // 0: Daten werden nicht automatisch gelöscht ! var cronStrStatic = "* */5 * * *"; // Werte alle 5 Stunden auslesen var cronStrDynamic = "*/2 * * * *"; // Werte alle 2 Minuten auslesen ! // -------------------------------------------------------------------------------------- // -------------------- ab hier muss nichts mehr angepasst werden ----------------------- // -------------------------------------------------------------------------------------- ! var idDpArr = pfad+"DatenpunktArray"; ! var dpArr = []; ! createState(idDpArr, "[]", { name: 'Array mit den schon angelegten Datenpunkten', desc: 'Array mit den schon angelegten Datenpunkt IDs', type: 'string', unit: '', role: 'value' }, function (){}); ! var meastype = { 1: {name:"Gewicht",einheit:"kg"}, 4: {name:"Größe",einheit:"m"}, 5: {name:"Fett_freie_Masse",einheit:"kg"}, 6: {name:"Fett_Ratio",einheit:"%"}, 8: {name:"Fett_Masse",einheit:"kg"}, 9: {name:"Diastolischer_Blutdruck",einheit:"mmHG"}, 10: {name:"Systolischer_Blutdruck",einheit:"mmHG"}, 11: {name:"Puls",einheit:"bpm"}, 12: {name:"Temperatur",einheit:""}, 54: {name:"SP02",einheit:"%"}, 71: {name:"Körpertemperatur",einheit:""}, 73: {name:"Hauttemperatur",einheit:""}, 76: {name:"Muskelmasse",einheit:""}, 77: {name:"Hydration",einheit:""}, 88: {name:"Knochenmasse",einheit:""}, 91: {name:"Pulswellengeschwindigkeit",einheit:""} } ! var customLogging = "{}"; if(historyEin) customLogging = '{"' + historyInstanz + '": {"enabled": true,"changesOnly":'+historyChangesOnly+',"debounce": "1000","retention": '+historyRentention+',"changesRelogInterval": 0,"changesMinDelta": 0,"storageType": "Number"}}'; customLoggingJson = JSON.parse(customLogging); ! var request = require('request'); var oauth = require("oauth"); ! var nokia = new oauth.OAuth( "https://developer.health.nokia.com/account/request_token", "https://developer.health.nokia.com/account/access_token", consumerKey, consumerSecret, "1.0", null, "HMAC-SHA1" ); ! function checkBody(body) { try { var json = JSON.parse(body); } catch (ex) { log("Nokia: Fehler beim parsen des bodys","warn"); return [false, null]; } if(logOn) log('JSON von Nokia ausgelesen: ' + JSON.stringify(json)); if(logOn) log("Länge json: " + JSON.stringify(json).length); if(typeof json.status === "undefined") { log("Nokia: Fehler beim Einlesen. Kein Status von Nokia erhalten","warn"); return [false, null]; } if(logOn) log("Status: " + json.status); if(json.status !== 0 ) { log("Nokia: Status: " + json.status + " - " + json.error,"warn"); return [false, null]; } if(typeof json.body === "undefined") { log("Nokia: Fehler beim Einlesen. Kein Body von Nokia erhalten","warn"); return [false, null]; } return [true, json]; } ! function werteRunden(wert,stellen) { return Math.round(wert * Math.pow(10,stellen)) / Math.pow(10,stellen); } ! function setCreateState(id,val,forcecreation,common) { if(dpArr.indexOf(id) === -1) { log("Nokia: neuer Datenpunkt angelegt: " + id); createState(id,val,forcecreation,common); dpArr.push(id); } else { setState(id,val); } } ! function getBodyMeasures(json) { var pfadFunc = pfad + subPfadKoerperwerte; var datumAlt = getState(pfadFunc + ".ts_epoch").val; var epoch = json.body.measuregrps[0].date; var datum = formatDate(new Date(epoch*1000),"YYYY-MM-DD, hh:mm"); if(epoch === datumAlt) { log("Nokia: Die Abfrage enthielt keine neuen Werte"); return; } setCreateState(pfadFunc + '.json',JSON.stringify(json),true, {name:"json", type:"string"}); setCreateState(pfadFunc + ".ts_epoch", epoch, true, {name:"ts_epoch", type:"number"}); setCreateState(pfadFunc + ".ts_datum", datum, true, {name:"ts_datum", type:"string"}); for (var i = 0; i < json.body.measuregrps[0].measures.length; i++) { var name = meastype[json.body.measuregrps[0].measures[i].type].name; var faktor = Math.pow(10,json.body.measuregrps[0].measures[i].unit); var wert = werteRunden(json.body.measuregrps[0].measures[i].value * faktor,1); var einheit = meastype[json.body.measuregrps[0].measures[i].type].einheit; if(logOn) log (name + ": " + wert + einheit); setCreateState(pfadFunc + "." + name, wert, true, {name:name, type:"number", unit: einheit , custom:customLoggingJson}); } return; } ! function readDataStatic() { var url = nokia.signUrl("https://api.health.nokia.com/measure?action=getmeas&userid=" + userid, oauth_access_token, oauth_access_token_secret); try { request(url, function (error, response, body) { if (!error && response.statusCode == 200) { // kein Fehler, Inhalt im body var checkResult = checkBody(body); if (checkResult[0]) { var json = checkResult[1]; getBodyMeasures(json); setState(idDpArr,JSON.stringify(dpArr)); } } else { if(typeof response.statusCode !== "undefined") log("StatusCode = " + response.statusCode,"warn"); if(typeof error !== "undefined") log("Nokia: Fehler beim Abfragen:" + error, 'error'); // Error beim Einlesen } }); } catch (e) { log('Fehler (try) ' + e, 'error'); } } ! function readDataDynamic() { var url = nokia.signUrl("https://api.health.nokia.com/v2/sleep?action=getsummary&userid=" + userid, oauth_access_token, oauth_access_token_secret) try { request(url, function (error, response, body) { if (!error && response.statusCode == 200) { // kein Fehler, Inhalt im body var checkResult = checkBody(body); if (checkResult[0]) { var json = checkResult[1]; // getBodyMeasures(json); setState(idDpArr,JSON.stringify(dpArr)); } } else { if(typeof response.statusCode !== "undefined") log("StatusCode = " + response.statusCode,"warn"); if(typeof error !== "undefined") log("Nokia: Fehler beim Abfragen:" + error, 'error'); // Error beim Einlesen } }); } catch (e) { log('Fehler (try) ' + e, 'error'); } } ! // Subscriptions // ----------------------------------------------------------------------------- ! /* on({id:"Datenpunkt id",change:'ne'}, function (obj) { // Funktionen }); */ ! // regelmässige Wiederholungen // ----------------------------------------------------------------------------- schedule(cronStrStatic, readDataStatic); // schedule(cronStrDynamic, readDataDynamic); // ! // Wird ausgeführt, wenn das Skript gestoppt wird: // ----------------------------------------------- // close connection if script stopped onStop(function skriptStop () { if(logOn) log("----------- Skript: " + name + " wurde beendet -----------"); // Funktionen, die noch ausgeführt werden sollen, wenn das Skript beendet wurde setState(idDpArr,JSON.stringify(dpArr)); }, 100 /*ms*/); ! // main // ----------------------------------------------------------------------------- function main() { if(logOn) log("----------- Skript: " + name + " gestartet -----------"); // Funktionen, die beim Start des Skripts ausgeführt werden dpArr = JSON.parse(getState(idDpArr).val); readDataStatic(); readDataDynamic(); } ! // Start Skript: // ----------------------------------------------------------------------------- setTimeout(main, 1000);
      Achtung: das Skript ist nur ein Rohentwurf auf Basis von ruhr70s Skript. Vielleicht kann sich das ja mal jemand ansehen. Die Idee ist, dass man zwischen statischen und dynamischen Abfragewerten unterscheidet. Statisch eher für die Body-Daten, die eh nur wenige Male am Tag erfasst werden und dynamisch für Daten, auf die ggf. schneller reagiert werden muss, wie z.B. die Daten das Sleep-Sensors.
      ! Zudem habe ich mal einen Username eingeführt, um für unterschiedliche User entsprechende Skripte anlegen und Werte abfragen zu können. Das sieht dann so aus:
      ! 996_2018-05-18_12h37_50.png
      ! Bis dann,
      ! Thorsten[/i][/i][/i][/i]

      ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

      1 Reply Last reply
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        wrote on last edited by
        #61

        cool. Du nimmst mir ja die Arbeit ab :mrgreen:

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Reply Last reply
        0
        • bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          wrote on last edited by
          #62

          Hallo und guten Morgen,

          könnte dieses oauth auch bei google funktionieren?

          Hintergrund:

          Ich versuche ja nun seit Monaten mir ein script zu basteln um von google contacts mir die Telefon-Bilder zu holen.

          Und dort ist auch ein oauth Verfahren beschrieben.

          Bekomme dies leider nicht hin.

          Vielleicht hat ja jemand dies schon mal probiert und evtl. ein Code-Schnipsel für mich.

          Danke im Voraus.

          mfg

          Dieter


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Reply Last reply
          0
          • D Offline
            D Offline
            dtp
            wrote on last edited by
            #63

            @ruhr70:

            cool. Du nimmst mir ja die Arbeit ab :mrgreen: `

            Leider nicht so ganz. Erstens war ich ne Woche weg und zweitens fehlen mir die Fähigkeiten, das Skript an den entscheidenden Stellen zur Einbindung des Nokia Sleep anzupassen. Vielleicht kannst du mich hier noch etwas unterstützen?

            Gruß,

            Thorsten

            ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

            1 Reply Last reply
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              wrote on last edited by
              #64

              Sleep habe ich nicht, wollte aber mein Aura mal wieder aufbauen.

              Mal sehen, ob es das damit auch geht. Ich ergänze dass dann im Skript.

              Gesendet von iPad mit Tapatalk

              Adapter: Fritzbox, Unify Circuit
              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

              1 Reply Last reply
              0
              • P Offline
                P Offline
                pix
                wrote on last edited by
                #65

                Hallo,

                hat sich schon was getan? Ist das Einlesen von Aktivitäten und Schlaf schon möglich?

                measure (getactivity, getmeas, getintradayactivity, getworkouts)

                Gruß

                Pix

                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  stoffel67
                  wrote on last edited by
                  #66

                  Hallo zusammen,

                  mal ne Frage an alle die diese Schlafsensormatte haben… 😉

                  Wie funktioniert die genau? hängt das Teil am Stromnetz?

                  ist das permanent mit WLAN verbunden? (noch mehr "Strahlen" im SZ)

                  Mein Adapter: JUNG/GIRA eNet-Adapter

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    dtp
                    wrote on last edited by
                    #67

                    @stoffel67:

                    hängt das Teil am Stromnetz? `
                    Ja.
                    @stoffel67:

                    ist das permanent mit WLAN verbunden? (noch mehr "Strahlen" im SZ) `
                    Wir haben im Schlafzimmer seit einigen Jahren einen WLAN-Repeater und ein Android-Tablet als Wecker stehen. Seit kurzem kam nun noch ein Echo Spot hinzu. Da ist das WLAN des Nokia Sleep eher vernachlässigbar.

                    Übrigens sendet Nokia Sleep meines Wissens nach die Daten nur einmalig nach dem Aufstehen. Kann gut sein, dass es daher nicht permanent mit dem WLAN verbunden ist.

                    ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      dtp
                      wrote on last edited by
                      #68

                      Oh man, Nokia. Was macht ihr da eigentlich gerade? Kauft vor zwei Jahren die Firma Withings auf, labelt alles auf Nokia um, entwickelt ein paar Geräte weiter, um nun das Ganze wieder zurück an einen der Withings-Gründer zu verkaufen. Fortan wird wieder alles unter dem Namen Withings verkauft. So sind meine Waage und mein Blutdruckmessgerät immerhin wieder aktuell. Aber ich hoffe doch inständig, dass auch der Nokia Sleep weiterhin unterstützt wird. Aber das wurde ja so angekündigt.

                      Da ich es übrigens mit Umstieg auf die Pro-Cloud des ioBroker nunmehr geschafft habe, IFTTT einzubinden, ist das Skript nicht mehr ganz so wichtig. Trotzdem werde ich mich bei Gelegenheit mit Bezug auf den Nokia Sleep noch mal dran setzen. Aber nun muss ich meine Datenpunkte auch wieder auf Withings umbenennen, oder? 8-)

                      ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                      1 Reply Last reply
                      0
                      • P Offline
                        P Offline
                        pix
                        wrote on last edited by
                        #69

                        Hallo,

                        soeben hat Wihtings / Nokia (wie auch immer :lol: ) per Mail angekündigt, die API zu modernisieren. Ich zitiere aus Bequemlichkeit die Email:
                        @Nokia Email:

                        CLOSING THE OAUTH 1.0 AUTHENTICATION

                        The Health Mate API is now fully functional with OAuth 2.0 authentication protocol. Therefore, the OAuth 1.0 process will no longer be supported beginning November 30, 2018.

                        WHY ARE WE MAKING THIS CHANGE?

                        When the Health Mate API was first developed, we implemented the OAuth 1.0 process to ensure authentication. Because the OAuth 2.0 protocol is now available and easier to use, we have decided to improve our API by integrating the OAuth 2.0 authentication protocol.

                        WILL NOKIA HEALTH WEB SERVICES CHANGE?

                        If you update to our new process outlined in this email, the Health Mate API will provide the same web services for retrieving user information and measures.

                        WHAT DO YOU NEED TO DO?

                        You must integrate the OAuth 2.0 authentication process and transform your current OAuth 1.0 tokens into OAuth 2.0 tokens. You must then use those new tokens in every call to our API.

                        For more information, please refer to the new documentation, which replaces the previous version. See the new documentation

                        OTHER SECURITY CHANGES

                        1. NOTIFICATION CALLBACK URLS VERIFICATION

                        We have implemented new rules regarding notify callback URLs to improve security. Subscriptions with an invalid callback URL will be deleted November 30, 2018. Please note that:

                        HTTPS is now required

                        If you specify a port, you must only use 443

                        The URL must not contain an IP

                        The use of localhost is no longer allowed

                        If your notifications do not follow these new rules, please refer to the Notify section of our documentation to learn how to make changes.

                        2. OAUTH 2.0 CALLBACK URL VERIFICATION

                        As of November 2018, the OAuth 2.0 workflow will only accept redirect URLs in HTTPS. You can edit to redirect your URL in the OAuth 2.0 dashboard.

                        3. HTTPS REQUIRED WITH SNI AND TLS 1.2

                        HTTPS with the SNI (Server Name Indication) extension will be required as of November 2018. HTTP calls will be rejected.

                        You must use a client that supports TLS 1.2. To follow industry standards, including those provided by NIST and PCI-DSS, we will drop support for TLS versions 1.0 and 1.1 beginning November 30, 2018.

                        NEW DOCUMENTATION

                        The new official documentation is available at:

                        https://developer.health.nokia.com

                        QUESTIONS?

                        If you still have questions, don’t hesitate to reach out to us at:

                        partner-api@withings.com

                        Thank you,

                        The Health Mate API Team `

                        Vielleicht kriegen wir das Skript dann endlich zum Laufen. :roll:

                        Gruß

                        Pix

                        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                        1 Reply Last reply
                        0
                        • Q Offline
                          Q Offline
                          quersumme
                          wrote on last edited by
                          #70

                          Ist jemand an der Implementierung der neuen Withings-API dran?

                          Ich hab versucht bisschen was zu basteln, aber da ich keine Ahnung von oauth habe, bin ich schon sehr früh gescheitert. :?

                          1 Reply Last reply
                          0
                          • D Offline
                            D Offline
                            dtp
                            wrote on last edited by
                            #71

                            Mein Problem ist gerade, dass ich nicht weiß, was ich unter Callback URL eintragen soll.

                            996_2018-12-11_12h46_43.jpg

                            ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                            1 Reply Last reply
                            0
                            • SpikeNbgS Offline
                              SpikeNbgS Offline
                              SpikeNbg
                              wrote on last edited by
                              #72

                              Hallo zusammen,

                              ich überlege jetzt auch eine Withings Sleep Tracking Matte zu kaufen.

                              Seid ihr hier mit der neuen API weiter gekommen? Hat es jemand auf oauth 2.0 umstellen können? Die alte API ist ja lt. Nokia/Withings seit November nicht mehr aktiv.

                              Vielen Dank für einen kurzen Status!

                              S 1 Reply Last reply
                              0
                              • SpikeNbgS SpikeNbg

                                Hallo zusammen,

                                ich überlege jetzt auch eine Withings Sleep Tracking Matte zu kaufen.

                                Seid ihr hier mit der neuen API weiter gekommen? Hat es jemand auf oauth 2.0 umstellen können? Die alte API ist ja lt. Nokia/Withings seit November nicht mehr aktiv.

                                Vielen Dank für einen kurzen Status!

                                S Offline
                                S Offline
                                stoffel67
                                wrote on last edited by
                                #73

                                @SpikeNbg
                                die alte API funktioniert noch weiterhin( zumindest bei mir)
                                habe mich mal mit der Neuen beschäftigt, scheint auch zu funktionieren, aber m.M.n. wesentlich umständlicher/aufwändiger...
                                wenn ich es richtig verstanden habe läuft der "Access token" alle 3h ab, man muß dann mit einem "refresh token" immer einen "Neuen holen"
                                solange ich die Daten über die alte API bekomme, stell ich nicht um!

                                Mein Adapter: JUNG/GIRA eNet-Adapter

                                1 Reply Last reply
                                0
                                • SpikeNbgS Offline
                                  SpikeNbgS Offline
                                  SpikeNbg
                                  wrote on last edited by
                                  #74

                                  Ah super, Danke dir! Dann steig ich auch ein 🙂

                                  1 Reply Last reply
                                  0
                                  • K Offline
                                    K Offline
                                    Kaiman55
                                    wrote on last edited by Kaiman55
                                    #75

                                    Moin zusammen,

                                    ich habe auch eine Nokia Waage (Modell die auch Fettgehalt "messen" kann).

                                    Nun wollte ich mein Gewicht als Ansport gerne auf meiner VIS sehen.
                                    Vielleicht auch den Fettgehalt.

                                    Nachdem hier soviele Scripte gepostet wurden, blicke ich nicht mehr wir.
                                    Brauche ich nur das JavaScript und diesen API Schlüssel eintragen?

                                    Habe mir über den oben geposteten Link versucht die API Schlüssel zu holen.
                                    Aber was habt hier bei Callback-URL eingetragen?

                                    Wäre toll, wenn das vielleicht nochmal jemand schreiben kann, welches Script es jetzt ist.

                                    Danke und LG

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      Marty56
                                      wrote on last edited by
                                      #76

                                      Ich mache das über den Umweg mit ifttt. Funktioniert ohne Problem, allerdings mit einer ziemlichen Verzögerung von einigen Minuten.

                                      HW:NUC (16 GB Ram)
                                      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                      K 1 Reply Last reply
                                      0
                                      • M Marty56

                                        Ich mache das über den Umweg mit ifttt. Funktioniert ohne Problem, allerdings mit einer ziemlichen Verzögerung von einigen Minuten.

                                        K Offline
                                        K Offline
                                        Kaiman55
                                        wrote on last edited by
                                        #77

                                        @Marty56 sagte in Withings Daten einlesen:

                                        Ich mache das über den Umweg mit ifttt. Funktioniert ohne Problem, allerdings mit einer ziemlichen Verzögerung von einigen Minuten.

                                        Also im ioBroker den Adapter IFTTT.
                                        Aber wie sieht die IFTTT Regel dann aus? Wie erzeugst Du dann einen Datenpunkt?
                                        Wäre toll, wenn Du mir das erklären kannst.

                                        Ich habe es gestern geschafft mich für einen Developer Account zu registieren.
                                        Allerdings ist dort nur der ConsumerKey und derConsumerSecret Key.

                                        Woher bekomme ich die beiden oa_access_oken und oken_secret?

                                        S 1 Reply Last reply
                                        0
                                        • K Kaiman55

                                          @Marty56 sagte in Withings Daten einlesen:

                                          Ich mache das über den Umweg mit ifttt. Funktioniert ohne Problem, allerdings mit einer ziemlichen Verzögerung von einigen Minuten.

                                          Also im ioBroker den Adapter IFTTT.
                                          Aber wie sieht die IFTTT Regel dann aus? Wie erzeugst Du dann einen Datenpunkt?
                                          Wäre toll, wenn Du mir das erklären kannst.

                                          Ich habe es gestern geschafft mich für einen Developer Account zu registieren.
                                          Allerdings ist dort nur der ConsumerKey und derConsumerSecret Key.

                                          Woher bekomme ich die beiden oa_access_oken und oken_secret?

                                          S Offline
                                          S Offline
                                          stoffel67
                                          wrote on last edited by
                                          #78

                                          @Kaiman55
                                          das steht doch alles hier:
                                          (http://developer.withings.com/oauth2/#tag/OAuth-2.0)
                                          zunächst: (OAuth 2.0 - Get your authentication code )
                                          hier übergibst du u.a. deine client-id und eine "repsonse URL ( Bsp. bei mir: http://<mein-server>.ddns.net/cgi-bin/withings.cmd), dabei wird ein Browserfenster geöffnet (interaktiv) bei dem du deinen account auswählst und dann
                                          der Nutzung der App zustimmst, direkt darauf wird die o.a. URL aufgerufen und der "code" und der "state"-string zurückgegeben.
                                          diesen "code" dann in den nächsten Aufruf (Get your access token)rein, um den Access_token und den refresh_token zu bekommen, mit diesen kannst du dann die Daten abrufen.
                                          Diese Aktion ist nur einmalig notwendig.
                                          Achtung:

                                          1. code ist nur 30 sec. gültig
                                          2. Access_token ist nur 3h gültig, (dafür gibt's dann den refresh_token)

                                          Mein Adapter: JUNG/GIRA eNet-Adapter

                                          K N 2 Replies 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

                                          688

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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