NEWS
Test Withings v0.0.x
-
@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&aaf8d2b4\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\">\n\t\t\t<link href=\"/min/g=blockCSS&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&client_id=<myClientId>&state=h4fhjnc2daoc3m&scope=user.activity%2Cuser.metrics%2Cuser.info&redirect_uri=http%3A%2F%2Flocalhost&b=authorize2&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&client_id=<myClientId>&state=h4fhjnc2daoc3m&scope=user.activity%2Cuser.metrics%2Cuser.info&redirect_uri=http%3A%2F%2Flocalhost&b=authorize2&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&client_id=<myClientId>&state=h4fhjnc2daoc3m&scope=user.activity%2Cuser.metrics%2Cuser.info&redirect_uri=http%3A%2F%2Flocalhost&b=authorize2&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&client_id=<myClientId>&state=h4fhjnc2daoc3m&scope=user.activity%2Cuser.metrics%2Cuser.info&redirect_uri=http%3A%2F%2Flocalhost&b=authorize2&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&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 -
@robson
hrHeart Rate.
rr
Respiration Rate.
snoring
Total snoring time
sleep sind die letzten 24h
ja sie haben sich für ein sekunden timestampe anstatt des gängigen milliseconds timestamp ich habe überlegt im adapter schon * 1000 zu rechnen@tombox Danke für die Erklärungen. Ich denke, es würde Sinn machen hr und rr entsprechend umzubenennen, da es sonst einfach nicht schlüssig ist.
Hattest du schon mal geschaut, ob du den aktuellen Status der Schlafmatte abgreifen kannst?
Kein Gewicht/niemand liegt im Bett = false
Gewicht/im Bett = true -
@tombox Danke für die Erklärungen. Ich denke, es würde Sinn machen hr und rr entsprechend umzubenennen, da es sonst einfach nicht schlüssig ist.
Hattest du schon mal geschaut, ob du den aktuellen Status der Schlafmatte abgreifen kannst?
Kein Gewicht/niemand liegt im Bett = false
Gewicht/im Bett = true -
@robson Sehe ich so direkt nicht auch nicht in der Doku. Ist es denn vielleicht in einer der offiziellen Apps sichtbar?
-
@robson Sehe ich so direkt nicht auch nicht in der Doku. Ist es denn vielleicht in einer der offiziellen Apps sichtbar?
@tombox bei mir funktioniert seit heute der Adapter :+1:
Vorher hatte ich den Fehler mit "split of undefined" wie oben @DocGame .Ich habe eine Body Withings Waage. Werte wurden korrekt abgeholt.
"Value" wird in Gramm angezeigt, was jetzt kein Problem ist.
Es werden nur die Werte von mir angezeigt (neben mir werden noch drei weitere Personen erfasst.) Ich habe noch nicht geschaut wie ich weitere Personen darstellen kann. Muss ja auch irgendwie gehen.Ich teste mal ob sich der Wert "Value" im Ordner "withings.0.measures.measuregrps01" loggen lässt. Wahrschelich geht das nicht, weil der Name des Ordners umgenannt wird wenn sich der letzte Wert aktualisiert!? Vielleicht denke ich falsch. Mal schauen.
Edit.: "withings.0.measures.measuregrps01" lässt sich wunderbar loggen :+1: -
@tombox bei mir funktioniert seit heute der Adapter :+1:
Vorher hatte ich den Fehler mit "split of undefined" wie oben @DocGame .Ich habe eine Body Withings Waage. Werte wurden korrekt abgeholt.
"Value" wird in Gramm angezeigt, was jetzt kein Problem ist.
Es werden nur die Werte von mir angezeigt (neben mir werden noch drei weitere Personen erfasst.) Ich habe noch nicht geschaut wie ich weitere Personen darstellen kann. Muss ja auch irgendwie gehen.Ich teste mal ob sich der Wert "Value" im Ordner "withings.0.measures.measuregrps01" loggen lässt. Wahrschelich geht das nicht, weil der Name des Ordners umgenannt wird wenn sich der letzte Wert aktualisiert!? Vielleicht denke ich falsch. Mal schauen.
Edit.: "withings.0.measures.measuregrps01" lässt sich wunderbar loggen :+1: -
@lobomau mmh wie sieht das in der app aus haben alle das gleiche passwort und wählen dann den nutzer aus?
-
Hi ich habe ein neuen Adapter für Withings geschrieben
Integriert:
Getmeas
Getactivity
ListHeart
GetSummarySleep
getHeart
getSleepFehlt:
Getintradayactivityhr Heart Rate.
rr Respiration Rate.
snoring Total snoring time
Geräte Information werden nur bei Adapterstart abgerufen
Zum Installieren:
https://github.com/TA2k/ioBroker.withingsUnter Adapter Experten Modus aktivieren:

Unter Adapter das Github Icon klicken:

Benutzerdefiniert auswählen und die Url einfügen.

Dann unter Adapter den Withings Adapter suchen und ganz rechts auf das Plus klicken.

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: JaClient id und Client Secret eintragen
@tombox, super, Danke für den Adapter.
Mir ist die App E -Mail nicht ganz schlüssig. Welche soll es denn nun sein....
Ich habe nur "Adressen" vom Dashboard und die vom Account dashboard_oauth2.
Aber keine Mail Adressen? Wenn dann nur vom support...
Ich stehe irgendwie auf dem Schlauch.Zudem kommt immer
withings.0 2022-01-11 01:50:53.184 error [object Object] withings.0 2022-01-11 01:50:53.011 error TypeError: Cannot read property 'split' of undefinedDas kann aber vom Login kommen.
Meine Frau habe ich schon vorübergehend gelöscht.:grimacing:
und falls Fragen kommen sollten diesbezüglich:
which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update > /dev/null && sudo apt update && apt policy nodejsDann kommt folgende beruhigende Antwort:
/usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.18.2 v14.18.2 6.14.15 pi OK:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease OK:2 http://archive.raspberrypi.org/debian bullseye InRelease OK:3 https://deb.nodesource.com/node_14.x bullseye InRelease Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig 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 bullseye/main armhf Packages 100 /var/lib/dpkg/status 12.22.5~dfsg-2~11u1 500 500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages -
@tombox, super, Danke für den Adapter.
Mir ist die App E -Mail nicht ganz schlüssig. Welche soll es denn nun sein....
Ich habe nur "Adressen" vom Dashboard und die vom Account dashboard_oauth2.
Aber keine Mail Adressen? Wenn dann nur vom support...
Ich stehe irgendwie auf dem Schlauch.Zudem kommt immer
withings.0 2022-01-11 01:50:53.184 error [object Object] withings.0 2022-01-11 01:50:53.011 error TypeError: Cannot read property 'split' of undefinedDas kann aber vom Login kommen.
Meine Frau habe ich schon vorübergehend gelöscht.:grimacing:
und falls Fragen kommen sollten diesbezüglich:
which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update > /dev/null && sudo apt update && apt policy nodejsDann kommt folgende beruhigende Antwort:
/usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.18.2 v14.18.2 6.14.15 pi OK:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease OK:2 http://archive.raspberrypi.org/debian bullseye InRelease OK:3 https://deb.nodesource.com/node_14.x bullseye InRelease Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig 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 bullseye/main armhf Packages 100 /var/lib/dpkg/status 12.22.5~dfsg-2~11u1 500 500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages -
@esp8266 Es ist der login mit dem du dich auch auf dem dashboard einloggst. Bzw den Adapter nochmal neu installieren
-
@tombox ,
hi, danke, dann war ich schon am Anfang richtig.
Aber obige Fehlermeldung bleibt. -
@tombox ,
Naja, das war schon die dritte Installation innerhalb von 12 Stunden. Auf den Github sind die letzten Änderungen 4 Tage her.Es bleibt nach wie vor bei der Fehlermeldung.
Ich habe mich noch ein bisschen beschäftigt damit.
Da müsste ja ein Port geöffnet werden. Kannst du das Bitte erklären, wie und welcher? Zudem sollten die Sicherheitsbestimmungen schon passen. Mein iobroker ist nicht offen wie ein Scheunentor. Bei vielen anderen ist das nicht der Fall. Das kann man alles recherchieren..... -
Ich habe mich noch ein bisschen beschäftigt damit.
Da müsste ja ein Port geöffnet werden. Kannst du das Bitte erklären, wie und welcher? Zudem sollten die Sicherheitsbestimmungen schon passen. Mein iobroker ist nicht offen wie ein Scheunentor. Bei vielen anderen ist das nicht der Fall. Das kann man alles recherchieren..... -
@esp8266 Es muss kein Port geöffnet sein. Kannst du bitte den Adapter in debug log mode setzen und mir das log in einer pn schicken
-
@esp8266 Das ist nur ein Platzhalter im eingeschränkten Modus wird der callback nicht genutzt.
-
@tombox ....also kann man http://localhost so belassen wie es ist? Sehe ich das richtig.
Jetzt wurde die "Body" erkannt, nach dem ich "http://localhost" belassen habe.
Adapter ist Grün. -
@tombox ....also kann man http://localhost so belassen wie es ist? Sehe ich das richtig.
-
@esp8266 Es muss exakt http://localhost lauten sonst funktioniert der Login nicht
@tombox, das habe ich nun auch festgestellt. Vielleicht solltest du das im ersten Post hinter dem Punkt hinweisen, das es so belassen werden muss. Bringt ein nur durcheinander.....
btw....ich suche mein Gewicht?So viele DatenpunkteErledigt
