Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Withings v0.0.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Withings v0.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tombox last edited by tombox

      Hi ich habe ein neuen Adapter für Withings geschrieben

      Integriert:
      Getmeas
      Getactivity
      ListHeart
      GetSummarySleep
      getHeart
      getSleep

      Fehlt:
      Getintradayactivity

      hr Heart Rate.

      rr Respiration Rate.

      snoring Total snoring time

      Geräte Information werden nur bei Adapterstart abgerufen

      Zum Installieren:
      https://github.com/TA2k/ioBroker.withings

      Unter Adapter Experten Modus aktivieren:
      9309457a-cad0-4ff4-946f-28df05d32801-image.png

      Unter Adapter das Github Icon klicken:
      ef5f973f-4a70-43be-bf9a-460726a69d1d-image.png
      Benutzerdefiniert auswählen und die Url einfügen.
      8328414c-da64-41d4-b524-5a75a25cb683-image.png

      Dann unter Adapter den Withings Adapter suchen und ganz rechts auf das Plus klicken.
      f59f304a-7769-463f-84d2-e36b461a87bd-image.png

      Loginablauf:
      Die Withings Email und Passwort eingeben
      https://account.withings.com/partner/dashboard_oauth2
      Eine App registrieren
      Name: ioBroker
      Beliebiges Bild
      Description: ioBroker
      Email: Yourmail
      Company: ioBroker
      Callback URI: http://localhost
      Eingeschränkter Modus: Ja

      Client id und Client Secret eintragen

      S M ESP8266 Damrak2022 C 7 Replies Last reply Reply Quote 3
      • S
        Stadtschloss @tombox last edited by Stadtschloss

        @tombox Wow! Vielen Dank für den Adapter. Der Login und die Daten holen hat problemlos geklappt 🙂

        Eine Frage zum sleepSummary. Dort befinden sich die Tage als Ordner. Die Ordnernamen verstehe ich jedoch nicht (Zahlenkombination anscheint die ID). Hättest du dafür eine Beschreibung?

        Hier wäre eine Ordnerstruktur gut, die immer gleich bleibt. Also zum Beispiel. Heute, Minus Erster Tag, Minus 2 Tag etc..

        Bildschirmfoto 2022-01-06 um 17.00.37.png

        R 1 Reply Last reply Reply Quote 0
        • M
          miggedy @tombox last edited by miggedy

          @tombox Bei mir crashed die Instanz beim Start. Vielleicht weil ich mehrere Benutzer in meinem Withings-Account habe? Wie man im HTML des logs sieht kommt nach dem Login eine Abfrage von Withings welchen Profil man laden möchte (welcher womöglich nicht kommt wenn man nur eine Person in seinem Account hat). Ziel des Adapters sollte natürlich sein die Daten von allen Profilen zu laden.

          (Anyonymisiertes) Log:

          host.iobroker-pi4
          2022-01-06 17:24:48.121	warn	Do not restart adapter system.adapter.withings.0 because restart loop detected
          host.iobroker-pi4
          2022-01-06 17:24:48.121	error	instance system.adapter.withings.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
          host.iobroker-pi4
          2022-01-06 17:24:48.121	error	Caught by controller[2]: at Withings.onReady (/opt/iobroker/node_modules/iobroker.withings/main.js:62:9)
          host.iobroker-pi4
          2022-01-06 17:24:48.120	error	Caught by controller[2]: at Withings.login (/opt/iobroker/node_modules/iobroker.withings/main.js:134:22)
          host.iobroker-pi4
          2022-01-06 17:24:48.120	error	Caught by controller[2]: at processTicksAndRejections (internal/process/task_queues.js:97:5)
          host.iobroker-pi4
          2022-01-06 17:24:48.120	error	Caught by controller[2]: at /opt/iobroker/node_modules/iobroker.withings/main.js:155:77
          host.iobroker-pi4
          2022-01-06 17:24:48.120	error	Caught by controller[2]: TypeError: Cannot read property 'split' of undefined
          host.iobroker-pi4
          2022-01-06 17:24:48.119	error	Caught by controller[1]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
          host.iobroker-pi4
          2022-01-06 17:24:48.119	error	Caught by controller[0]: at Withings.onReady (/opt/iobroker/node_modules/iobroker.withings/main.js:62:9)
          host.iobroker-pi4
          2022-01-06 17:24:48.119	error	Caught by controller[0]: at Withings.login (/opt/iobroker/node_modules/iobroker.withings/main.js:134:22)
          host.iobroker-pi4
          2022-01-06 17:24:48.119	error	Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:97:5)
          host.iobroker-pi4
          2022-01-06 17:24:48.118	error	Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.withings/main.js:155:77
          host.iobroker-pi4
          2022-01-06 17:24:48.118	error	Caught by controller[0]: TypeError: Cannot read property 'split' of undefined
          host.iobroker-pi4
          2022-01-06 17:24:48.113	error	Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
          
          withings.0
          2022-01-06 17:24:47.552	silly	States user redis pmessage withings.0.*/withings.0.info.connection:{"val":false,"ack":true,"ts":1641486287548,"q":0,"from":"system.adapter.withings.0","user":"system.user.admin","lc":1641485890382}
          
          withings.0
          2022-01-06 17:24:47.492	warn	Terminated (UNCAUGHT_EXCEPTION): Without reason
          
          withings.0
          2022-01-06 17:24:47.491	debug	Plugin sentry destroyed
          
          withings.0
          2022-01-06 17:24:47.489	info	terminating
          
          withings.0
          2022-01-06 17:24:47.466	error	Cannot read property 'split' of undefined
          
          withings.0
          2022-01-06 17:24:47.465	error	TypeError: Cannot read property 'split' of undefined at /opt/iobroker/node_modules/iobroker.withings/main.js:155:77 at processTicksAndRejections (internal/process/task_queues.js:97:5) at Withings.login (/opt/iobroker/node_modules/iobroker.withings/main.js:134:22) at Withings.onReady (/opt/iobroker/node_modules/iobroker.withings/main.js:62:9)
          
          withings.0
          2022-01-06 17:24:47.454	error	unhandled promise rejection: Cannot read property 'split' of undefined
          
          withings.0
          2022-01-06 17:24:47.452	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
          
          withings.0
          2022-01-06 17:24:47.449	debug	{"date":"Thu, 06 Jan 2022 16:24:47 GMT","server":"Apache","content-security-policy":"frame-ancestors 'self' https://healthmate.withings.com/ https://care.withings.com/ https://care.us.withingsmed.com/","strict-transport-security":"max-age=10368000","x-xss-protection":"1","x-content-type-options":"nosniff","referrer-policy":"strict-origin-when-cross-origin","cache-control":"no-store","set-cookie":["session_key=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=withings.com","session_is_verified=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=withings.com","cookie_2fa_validation_key=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=withings.com","ns_af=DhwiD832nkkfj2; path=/; HttpOnly; Secure; SameSite=Lax"],"location":"/oauth2_user/account_login?response_type=code&client_id=<myClientId>&state=h4fhjnc2daoc3m&scope=user.activity%2Cuser.metrics%2Cuser.info&redirect_uri=http%3A%2F%2Flocalhost&b=authorize2&b=user_select","x-frame-options":"ALLOW-FROM https://healthmate.withings.com/","content-length":"0","content-type":"text/html; charset=UTF-8","connection":"close"}
          
          withings.0
          2022-01-06 17:24:47.207	debug	"<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<!-- aaf8d2b4 -->\n\t\t<title>Wählen Sie einen Nutzer aus</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\">\n\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n\t\t<link rel=\"shortcut icon\" href=\"/favicon.png\" type=\"image/x-icon\">\n\n\t\t<link rel=\"apple-touch-icon\" href=\"/favicon.png\" sizes=\"57x57\">\n\t <link rel=\"apple-touch-icon\" href=\"/favicon.png\" sizes=\"72x72\">\n\t <link rel=\"apple-touch-icon\" href=\"/favicon.png\" sizes=\"76x76\">\n\t <link rel=\"apple-touch-icon\" href=\"/favicon.png\" sizes=\"114x114\">\n\t <link rel=\"apple-touch-icon\" href=\"/favicon.png\" sizes=\"120x120\">\n\t <link rel=\"apple-touch-icon\" href=\"/favicon.png\" sizes=\"144x144\">\n\t <link rel=\"apple-touch-icon\" href=\"/favicon.png\" sizes=\"152x152\">\n\n\t\t\t\t\t<link href=\"/min/g=baseCSS&amp;aaf8d2b4\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\">\n\t\t\t<link href=\"/min/g=blockCSS&amp;aaf8d2b4\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\">\n\t\t\n\t\t<script type=\"text/javascript\"src=\"/js/libs/analytics.js\"></script>\n\n\t\t<script></script>\n\t\t\t</head>\n\t<body>\n\t\t\t\t\t\t\t\t\t<!-- COOKIE BAR-->\n\t\t\t\t\t<div id=\"cookies\">\n <div class=\"cookie-container\">\n <div class=\"cookie-body\">\n <span class=\"title header1\">Before you continue</span>\n <p class=\"cookie-message body1\">Durch das Anklicken oder Navigieren auf dieser Website stimmen Sie unserer Verwendung von Cookies zu, die wir benutzen, um Ihnen ein besseres Erlebnis und individuelle Werbung unserer Partner bieten zu können.</p>\n <div class=\"cookie-dropdown\">\n <div class=\"dropdown-title\">\n <div class=\"checkbox-component no-mt\">\n <input id=\"essential_cookie\" type=\"checkbox\" name=\"essential_cookie\" checked disabled class=\"HMIcons_check\">\n <label for=\"essential_cookie\">Essential cookies</label>\n </div>\n <span class=\"icon HMIcons_downsm\"></span>\n </div>\n <div class=\"content\">\n <p class=\"bodyRegular\">They enable you to move around the website properly. They do not store any personally identifiable information and enable features such as accessing secure areas of the website or remembering what is in your shopping cart. They are mandatory for withings.com to operate.</p>\n </div>\n </div>\n <div class=\"cookie-dropdown\">\n <div class=\"dropdown-title\">\n <div class=\"checkbox-component no-mt\">\n <input id=\"analytics_cookie\" type=\"checkbox\" name=\"analytics_cookie\" class=\"HMIcons_check\">\n <label for=\"analytics_cookie\">Analytical cookies</label>\n </div>\n <span class=\"icon HMIcons_downsm\"></span>\n </div>\n <div class=\"content\">\n <p class=\"bodyRegular\">They allow us to collect information about how visitors use our website. For instance, we may see the total number of visits, or which pages visitors go to most often. We use this information to make sure our users find the information they are looking for, help monitor website performance indicators and solve potential bugs.</p>\n </div>\n </div>\n <div class=\"action-wrapper\">\n <div class=\"button-component no-mt\">\n <button class=\"accept-selection\">Accept selected</button>\n </div>\n <div class=\"button-component no-mt\">\n <button class=\"accept-all primary\">Accept all and close</button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<script src=\"/js/helpers/utils.js\"></script>\n<script>\n const cookiesWrapper = document.querySelector('#cookies');\n const dropDownTitles = cookiesWrapper.querySelectorAll('.dropdown-title');\n const buttons = cookiesWrapper.querySelectorAll('.action-wrapper button');\n const analyticBox = cookiesWrapper.querySelector('input#analytics_cookie');\n\n const sections = [];\n const margin = 15;\n\n // Constants\n const COOKIE_STATISTICS = 'cookieconsent_statistics';\n\tconst COOKIE_ADVERTISING = 'cookieconsent_advertising';\n\tconst COOKIE_SOCIAL = 'cookieconsent_social';\n\tconst COOKIE_WITHINGS_DISMISSED = 'withings_cookieconsent_dismissed';\n\n buttons.forEach(btn => btn.addEventListener('click', (e) => onSubmit(e)));\n cookiesWrapper.addEventListener('click', onOverlayClick);\n\n window.addEventListener('resize', closeAllSections, false);\n\n dropDownTitles.forEach((el, index) => {\n const currentContent = el.nextElementSibling;\n sections.push({ el, content: currentContent });\n\n el.addEventListener('click', (e) => toggleDropDown(e, index));\n });\n\n if (getCookie(COOKIE_STATISTICS)) {\n analyticBox.setAttribute('checked', true);\n }\n\n function closeAllSections() {\n if (!sections) return;\n\n sections.forEach((section, i) => {\n if (!section.el.classList.contains('active')) return;\n\n section.el.classList.remove('active');\n section.content.style.height = 0;\n });\n }\n\n function closeCookieModal() {\n setCookie(COOKIE_WITHINGS_DISMISSED, 'yes');\n cookiesWrapper.classList.remove('active');\n };\n\n function onUserDontConsent() {\n setCookie(COOKIE_STATISTICS, false);\n\t\tsetCookie(COOKIE_ADVERTISING, false);\n\t\tsetCookie(COOKIE_SOCIAL, false);\n }\n\n function onSubmit(e) {\n const { target: currentButtonClicked } = e;\n const isAllAccepted = currentButtonClicked && currentButtonClicked.classList.contains('accept-all');\n\n // If the checkbox is checked or the user clicked on the accept all button\n if (analyticBox.checked || isAllAccepted) {\n // Accept the analytics cookie\n setCookie(COOKIE_STATISTICS, true);\n window.location.reload();\n } else {\n onUserDontConsent();\n }\n\n closeCookieModal();\n };\n\n function toggleDropDown(e, index) {\n if (e && e.target.tagName === \"INPUT\") return;\n\n e.preventDefault();\n\n const { content: currentContent, height } = sections[index];\n\n const currentSection = sections[index].el;\n currentSection.classList.toggle('active');\n\n const isActive = currentSection.classList.contains('active');\n if (isActive) return currentContent.style.height = `${currentContent.scrollHeight + margin}px`;\n return currentContent.style.height = 0;\n };\n\n function onOverlayClick(e) {\n // Clicked on modal => return\n if (e.target.id !== 'cookies') return;\n\n // Clicked on overlay => continue\n // Close the modal and set essential cookie to true\n onUserDontConsent();\n closeCookieModal();\n };\n</script>\t\t\t\t<!-- END COOKIE BAR-->\n\t\t\t\t\t\n\t\t\t\t\t<div class=\"app-wrapper-component\">\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t<div class=\"sidebar-component \">\n\t\t\t\t\t<div class=\"sidebar-content sidebar-full \">\n\t\t\t\t\t\t<div class=\"page-title\">\n\t\t\t\t\t\t\t\t<h1 class=\"header1\">Wählen Sie einen Nutzer aus</h1>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div id=\"user_selection\">\n\t\t<div class=\"user-selection-content\">\n\t\t\t<div class=\"button-component small\">\n\t\t\t\t\t\t\t\t\t<a href=\"/logout?r=https%3A%2F%2Faccount.withings.com%2Foauth2_user%2Fuser_select%3Fresponse_type%3Dcode%26client_id%3D<myClientId>%26state%3Dh4fhjnc2daoc3m%26scope%3Duser.activity%252Cuser.metrics%252Cuser.info%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%26b%3Dauthorize2\">Sind das nicht Sie?</a>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\n\t\t\t<ul class=\"list-component\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"?response_type=code&amp;client_id=<myClientId>&amp;state=h4fhjnc2daoc3m&amp;scope=user.activity%2Cuser.metrics%2Cuser.info&amp;redirect_uri=http%3A%2F%2Flocalhost&amp;b=authorize2&amp;selecteduser=1362620\" class=\"list-group-item\">Name User 1</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"?response_type=code&amp;client_id=<myClientId>&amp;state=h4fhjnc2daoc3m&amp;scope=user.activity%2Cuser.metrics%2Cuser.info&amp;redirect_uri=http%3A%2F%2Flocalhost&amp;b=authorize2&amp;selecteduser=1362621\" class=\"list-group-item\">Name User 2</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"?response_type=code&amp;client_id=<myClientId>&amp;state=h4fhjnc2daoc3m&amp;scope=user.activity%2Cuser.metrics%2Cuser.info&amp;redirect_uri=http%3A%2F%2Flocalhost&amp;b=authorize2&amp;selecteduser=11622612\" class=\"list-group-item\">Name User 3</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"?response_type=code&amp;client_id=<myClientId>&amp;state=h4fhjnc2daoc3m&amp;scope=user.activity%2Cuser.metrics%2Cuser.info&amp;redirect_uri=http%3A%2F%2Flocalhost&amp;b=authorize2&amp;selecteduser=19700099\" class=\"list-group-item\">Name User 4</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t</div>\n\t</div>\n\n\t\t\t\t\t\t<div class=\"footer-component\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"image-view-component\">\n\t\t\t\t\t<img src=\"/images/withings/side_picture.png\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\n\n\t\t\t\t\t<script type=\"text/javascript\" src=\"/min/g=baseJS&amp;aaf8d2b4\"></script>\n\t\t\n\t\t<script type=\"text/javascript\">\n\t\t\twiService.sessionid = \"1bIq1pnOa2KzF-1t8PLfys-WsBOsEtm\";\n\t\t\tconstants.REV = \"aaf8d2b4\";\n\t\t\tconstants.COOKIE_CONSENT_DOMAIN = \"withings.com\";\n\t\t\tconst IS_PARTNER = false;\n\n\t\t\t\n\t\t\t// TODO: rework this script. Disabled because lost focus on mobile phone\n\t\t\t// Prevent autofill to stick to the inputs on scrolling sidebar\n\t\t\t// const hasInputOnPage = document.querySelector('input');\n\n\t\t\t// if (hasInputOnPage) {\n\t\t\t// \tconst sidebar = document.querySelector('.sidebar-component');\n\n\t\t\t// \tif (sidebar) {\n\t\t\t// \t\tsidebar.addEventListener('scroll', () => {\n\t\t\t// \t\t\tconst activeInput = document.querySelector('input:focus');\n\t\t\t// \t\t\tif (activeInput) activeInput.blur();\n\t\t\t// \t\t});\n\t\t\t// \t}\n\t\t\t// }\n\t\t</script>\n\t\t\t</body>\n</html>\n"
          
          withings.0
          2022-01-06 17:24:46.075	debug	/oauth2_user/account_login?response_type=code&client_id=<myClientId>&state=h4fhjnc2daoc3m&scope=user.activity%2Cuser.metrics%2Cuser.info&redirect_uri=http%3A%2F%2Flocalhost&b=authorize2
          
          
          T 2 Replies Last reply Reply Quote 0
          • T
            tombox @miggedy last edited by tombox

            @miggedy Könntest du mir kurz deine Zugangsdaten geben dann könnte ich das abfangen
            @Stadtschloss ich bräuchte ein account mit daten dann könnte ich das besser anordnen
            Ich habe zwar was blind angepasst aber ohne account ist es schwierig

            Stuebi 1 Reply Last reply Reply Quote 0
            • Stuebi
              Stuebi @tombox last edited by

              @tombox sagte in Test Withings v0.0.x:

              Der Adapter funktioniert bei mir wunderbar! Echt mega!!!

              VG
              Stuebi

              1 Reply Last reply Reply Quote 0
              • R
                robson last edited by robson

                @tombox vielen Dank für den Adapter! Habe ihn gerade installiert, bekomme beim Start aber folgende Fehlermeldungen im Debug-Modus ausgegeben:

                host.ioBroker-RasPi4
                2022-01-06 21:02:06.263	error	instance system.adapter.withings.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.263	error	Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.263	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.263	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/json-bigint/index.js:1:22)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.262	error	Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.262	error	Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.262	error	Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.262	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.262	error	Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.262	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:963:27)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.261	error	Caught by controller[0]: at wrapSafe (internal/modules/cjs/loader.js:915:16)
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.261	error	Caught by controller[0]: SyntaxError: Invalid or unexpected token
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.261	error	Caught by controller[0]:
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.261	error	Caught by controller[0]: length
                host.ioBroker-RasPi4
                2022-01-06 21:02:06.260	error	Caught by controller[0]: /opt/iobroker/node_modules/json-bigint/lib/stringify.js:214
                host.ioBroker-RasPi4
                2022-01-06 21:02:05.411	info	instance system.adapter.withings.0 started with pid 20078
                

                Installation und Einrichtung über https://account.withings.com/partner/dashboard_oauth2 liefen ohne Probleme.

                Thomas Braun T 2 Replies Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @robson last edited by Thomas Braun

                  @robson

                  Ohne konkreten Verdacht:

                  which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update > /dev/null  && sudo apt update && apt policy nodejs
                  

                  sagt dir?

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    robson @Thomas Braun last edited by robson

                    @thomas-braun

                    Sagt mir zwar folgendes, aber mir relativ wenig:

                    /usr/bin/nodejs
                    /usr/bin/node
                    /usr/bin/npm
                    v12.22.8
                    v12.22.8
                    6.14.15
                    
                    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
                    
                    OK:1 https://deb.nodesource.com/node_12.x buster InRelease
                    OK:2 http://archive.raspberrypi.org/debian buster InRelease
                    OK:3 http://raspbian.raspberrypi.org/raspbian buster InRelease
                    Paketlisten werden gelesen... Fertig
                    Abhängigkeitsbaum wird aufgebaut.
                    Statusinformationen werden eingelesen.... Fertig
                    Aktualisierung für 4 Pakete verfügbar. Führen Sie »apt list --upgradable« aus, um sie anzuzeigen.
                    nodejs:
                      Installiert:           12.22.8-deb-1nodesource1
                      Installationskandidat: 12.22.8-deb-1nodesource1
                      Versionstabelle:
                     *** 12.22.8-deb-1nodesource1 500
                            500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
                            100 /var/lib/dpkg/status
                         10.24.0~dfsg-1~deb10u1 500
                            500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                    

                    Und

                    apt list --upgradable
                    

                    gibt aus:

                    Auflistung... Fertig
                    apache2-bin/oldstable 2.4.38-3+deb10u7 armhf [aktualisierbar von: 2.4.38-3+deb10u6]
                    apache2-data/oldstable 2.4.38-3+deb10u7 all [aktualisierbar von: 2.4.38-3+deb10u6]
                    apache2-utils/oldstable 2.4.38-3+deb10u7 armhf [aktualisierbar von: 2.4.38-3+deb10u6]
                    apache2/oldstable 2.4.38-3+deb10u7 armhf [aktualisierbar von: 2.4.38-3+deb10u6]
                    
                    Thomas Braun 1 Reply Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @robson last edited by Thomas Braun

                      @robson
                      Unabhängig vom 'Problem' würde ich auch die empfohlene und für ioBroker vorgesehene V14 springen.

                      Und den Indianer auch gleich auf Stand bringen.

                      1 Reply Last reply Reply Quote 0
                      • T
                        tombox @robson last edited by

                        @robson spontan fällt mir auch nichts ein außer node und js-controller zu aktualisieren

                        1 Reply Last reply Reply Quote 0
                        • R
                          robson last edited by

                          @thomas-braun sagte in Test Withings v0.0.x:

                          @robson
                          Unabhängig vom 'Problem' würde ich auch die empfohlene und für ioBroker vorgesehene V14 springen.

                          Und den Indianer auch gleich auf Stand bringen.

                          @tombox sagte in Test Withings v0.0.x:

                          @robson spontan fällt mir auch nichts ein außer node und js-controller zu aktualisieren

                          Freunde, das wars 🙂 Node ist jetzt auf v14.x und der Adapter läuft.
                          Ich teste in den kommenden Tagen mal fleißig und berichte.

                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @robson last edited by

                            @robson

                            'Kontrolle':

                            which nodejs node npm && nodejs -v && node -v && npm -v && whoami && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
                            iobroker update -i
                            
                            R 1 Reply Last reply Reply Quote 0
                            • R
                              robson @Thomas Braun last edited by

                              @thomas-braun

                              Es passt. Node steht auf 14.18.2 und NPM auf 6.14.15.

                              Danke noch mal.

                              Thomas Braun 1 Reply Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @robson last edited by Thomas Braun

                                @robson

                                Bitte die komplette Ausgabe zeigen.

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  robson @Thomas Braun last edited by

                                  @thomas-braun
                                  Wieso möchtest du das so genau wissen? Aber ich habe nichts zu verbergen:

                                  /usr/bin/nodejs
                                  /usr/bin/node
                                  /usr/bin/npm
                                  v14.18.2
                                  v14.18.2
                                  6.14.15
                                  pi
                                  OK:1 https://deb.nodesource.com/node_14.x buster InRelease
                                  OK:2 http://archive.raspberrypi.org/debian buster InRelease
                                  OK:3 http://raspbian.raspberrypi.org/raspbian buster InRelease
                                  Paketlisten werden gelesen... Fertig
                                  Abhängigkeitsbaum wird aufgebaut.
                                  Statusinformationen werden eingelesen.... Fertig
                                  Alle Pakete sind aktuell.
                                  nodejs:
                                    Installiert:           14.18.2-deb-1nodesource1
                                    Installationskandidat: 14.18.2-deb-1nodesource1
                                    Versionstabelle:
                                   *** 14.18.2-deb-1nodesource1 500
                                          500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
                                          100 /var/lib/dpkg/status
                                       10.24.0~dfsg-1~deb10u1 500
                                          500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                                  
                                  
                                  Thomas Braun 1 Reply Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @robson last edited by

                                    @robson sagte in Test Withings v0.0.x:

                                    Wieso möchtest du das so genau wissen? Aber ich habe nichts zu verbergen:

                                    Weil hier schon mehr als einmal jemand behauptet hat:
                                    Jaja, alles richtig installiert! Natürlich!

                                    Und bei Rückfrage war dann doch alles krumm im System.

                                    Aber bist entlassen, passt alles. 😄

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      robson @Stadtschloss last edited by

                                      @stadtschloss sagte in Test Withings v0.0.x:

                                      @tombox Wow! Vielen Dank für den Adapter. Der Login und die Daten holen hat problemlos geklappt 🙂

                                      Eine Frage zum sleepSummary. Dort befinden sich die Tage als Ordner. Die Ordnernamen verstehe ich jedoch nicht (Zahlenkombination anscheint die ID). Hättest du dafür eine Beschreibung?

                                      Hier wäre eine Ordnerstruktur gut, die immer gleich bleibt. Also zum Beispiel. Heute, Minus Erster Tag, Minus 2 Tag etc..

                                      Bildschirmfoto 2022-01-06 um 17.00.37.png

                                      Ich weiß nicht, ob es bei mir bereits die von @tombox angesprochenen Änderungen sind, aber die Schlafdaten meines Aura Sensor V2 werden wie folgt dargestellt:
                                      sleepsummary.jpg

                                      Die gelb markierte ID, ist die Nummer, die bei dir die Ordnernamen darstellt.

                                      T 1 Reply Last reply Reply Quote 0
                                      • R
                                        robson last edited by

                                        @tombox Was ich aktuell noch vermisse, ist der Status, den mein Sleep Sensor ausgibt. True = im Bett, False = nicht im Bett.

                                        Ich habe mir mal die API-Beschreibung bei Withings angeschaut. Kann es sein, dass dies der "sleep state" ist? Den finde ich nämlich aktuell in meinen Objekten nicht.
                                        api.jpg

                                        Hintergrund: über diesen Status steuere ich aktuell Aktivierung/Deaktivierung des Hüllschutzes im Haus. MeineAbfrage läuft aktuell über IFTTT. Das ist aber leider fehleranfällig und träge.

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          tombox @robson last edited by

                                          @robson Gut dass das funktioniert hat ist nur die frage ob das oberste element immer das aktuellste ist und ist die frage ob der andere endpunkt auch relevant ist
                                          "Provides the sleep measures for the night of the user, with the details of each phase of their sleep cycle."

                                          R 1 Reply Last reply Reply Quote 0
                                          • T
                                            tombox @robson last edited by

                                            @robson Ich habe mal den sleep get endpoint hinzugefügt aber keine ahnung wie daten aussehen die da rausfallen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            878
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            49
                                            516
                                            84422
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo