NEWS
Test Withings v0.0.x
-
@tombox Hallo, die Umrechnung von Dir welche ich für absolut genial finde, bringt mir leider ein neues Problem:
Im marterialdesign Line Chart Widget wird mir nichts mehr von meiner Schlafdauer dargestellt, da das Widget anscheinend nicht mit der Formatierung Stunden/Minuten umgehen kann. Ich muss jetzt mal schauen, mit welchem Widget ich das darstellen kann, bin aber auch für jeden Tipp dankbar,
-
@damrak2022 sagte in Test Withings v0.0.x:
@tombox Soory, ich hatte eine Woche kein Internet zur Verfügung.
Mich würden noch folgende Punkte interessieren:
deepsleepduration
durationtosleep
lightsleepduration
remsleepduration
snoring
totaltimeinbedHi, hier kann ich dir vielleicht schon weiter helfen. Da ich selber das ganze etwas anders gelöst habe, habe ich für dich alles auf Blockly umgebaut und dokumentiert.
deepsleepduration
Leg dir, z. B. unter 0_userdata einen neuen Ordner, z. B. withings, an und darunter dann deinen datenpunkt -> deepsleepduration (Typ mixed und in den Objektdaten kannst du dann die Unit "unit": "h" hinzufügen).
Dann legst du ein Blockly an, welches die Datenquelle einliest, formatiert und fertig in den Datenpunkt schreibt. So muss du nichts in der VIS formatieren. Die Zeit aus der Datenquelle mit 1.000 ms multiplizieren, damit man dies über Datum/Zeit schick formatieren kann. Natürlich führen hier viele Wege nach Rom.
In meinem Fall wird in der Datenquelle aber immer 1 h zu viel angezeigt, daher ziehe ich noch 1 h (angegeben in ms = 3600000) von der Zeit ab.
Dann ist der Datenpunkt für deine VIS im besten Fall optimal vorbereitet:
Da ich persönlich Jarvis als Visualisierung benutze, hier der JSON String zur Formatierung der Datenpunkt Eigenschaft:
{"value":"val => '0'+new Date(val*1000-3600000).getHours()+':'+new Date(val*1000-3600000).getMinutes()"}
totaltimeinbed -> total_sleep_time
Werte ich nicht aus (da ich im Bett TV schaue und der Wert dadurch für mich nicht die reine Schlafzeit darstellt), aber vielleicht ist ja die Schlafzeit total_sleep_time etwas für dich. Aktuell wird der Wert ja noch als Typ mixed ausgegeben, was den Nachteil hat, dass der ioBroker dies als Uhrzeit interpretiert und mit Tageszeit AM anzeigt. Das wäre nicht allzu schlimm, wenn die Zeit nicht auf hier mit 1h zu viel angezeigt werden würdeHier musste ich also ein wenig kreativer werden. Du legst also einen neuen Datenpunkt unter 0_userdata an mit Typ mixed, z. B. total_sleep_time. Da ich in der Anzeige gerne eine führende 0 hätte, habe ich den Datenpunkt wie folgt formatiert: Die : durch . ersetzen, das AM hin abziehen, das ganze in eine Fließkommazahl umwandeln, dann auf 2 Nachkommastellen runden und 1 h abziehen. Anschließend daraus wieder einen String erstellen, wo . durch : ersetzt wird. Diesem String kann an dann eine 0 voran stellen. Soweit zumindest meine Lösung in Jarvis:
{"value":"val => '0'+parseFloat(val.replace(':','.').substr(0,4)-1).toFixed(2).toString().replace('.',':')"}
Bei der Blockly Variante habe ich das für dich so gelöst:
Javascript Funktion:
let str1 = eingabe; let str2 = suchen; let str3 = ersetzen; str1 = str1.replace(suchen,ersetzen); return str1;
Und schon ist der Datenpunkt schön formatiert:
-
@stony2k vielen Dank, ich werde später mal versuchen ob ich das hinbekomme.
-
@stony2k Guten Morgen,
ich bekomme das mit dem Blockly nicht so wirklich hin. Bei mir sieht der Anfang so aus:
Wie hast Du das mit dem Datum/Zeit hinbekommen?
-
@damrak2022 Du hast den falschen Baustein genommen, du brauchst den unteren:
-
@stony2k Sorry, musste alles neu aufsetzen. Blockly ist garnicht so einfach. Ich bin jetzt bis hier gekommen, finde aber nicht den Baustein der anschließend kommt. Auch der Versuch einer eigenen Variable war nicht wirklich erfolgreich.
Den Teil von Dir bekomme ich nicht hin:
-
@damrak2022 , nach "Datum-Objekt" öffnen und nach unten scrollen.
-
@esp8266 Guten Morgen, nein ich meine wo ich das x 1000 - 3600000 herbekomme, insbesondere das einzelne "x" Zeichen
-
@damrak2022 , aus dem Mathematik Baukasten. Das ist kein X Zeichen sondern ein Multiplikationszeichen.
Darunter findet man es.
-
@esp8266 Irgendwas mache ich falsch, bei mir sieht das sehr merkwürdig aus:
Kannst Du mir Dein Blockly mal posten, damit ich es importieren kann? Dann kann ich es mir in Ruhe zu Gemüte führen
-
@damrak2022 , das kann auch nicht gehen weil die Bausteine überhaupt nicht verknüpft sind.
-
@esp8266 Ich weiß, aber dann habe ich irgendwo schon wieder was falsches genommen
-
Ich liege schon im Bett....
-
@esp8266 Dann schlaf gut und eventuell morgen
-
@damrak2022 , ich habe ein ganz anderes Blockly als wie der stony2k. Weil ich die Datenpunkte nicht nutze. Wenn du mir schreibst was du haben willst, dann baue ich dir das morgen zusammen. Nur hat das kein Lerneffekt.
-
So wie ich das deute muss statt der null der Wert der deepsleepduration dort rein. Dann wo die 1000 steht den anderen Baustein verknüpfen und statt 1 die 1000 einfügen.
-
@esp8266 Danke für das Angebot, aber ich möchte das selbst versuchen. Mich irritiert bei Blockly nur das nicht immer ersichtlich ist wo man etwas anfügen kann.
Manchmal endet so ein Block und man kann dort trotzdem noch was einfügen. -
@esp8266 Ich habe noch ein weiteres kleines Problem was ich nicht nachvollziehen kann. Gestern bin ich laut der Health Mate App von Withings 3700 Schritte gelaufen:
In meinem Datenpunkt von Withings stand aber bis gestern 30.03.2022 um 23:59 Uhr der Wert 1885 Steps drin. Dieser wird mir auch im Widget angezeigt:
Warum werden die 3700 Schritte mir nicht im Datenpunkt angezeigt?
Jetzt ist unter den Datenpunkten Activities nur noch die Zeitspanne vom 01.4. - 30.04. zu sehen, was ich extrem merkwürdig finde.
Obwohl die History aktiviert ist, stehen da gar keine Werte drin.
Hat mein restore den ich mit Hilfe von @liv-in-sky wiederhergestellt habe, doch massive Problem verursacht? Denn nach meinem Restore war zuerst die Vis nicht aufrufbar.
Ich möchte nun nicht wirklich alles komplett neu machen. -
@esp8266 Ich habe eben gerade einen Spaziergang gemacht. Laut Withings App bin ich 3013 Schritte gelaufen.
Das aber taucht unter dem Datenpunkt Withings/Activities 01 garnicht auf, wobei doch das aktuellste soweit ich weiß immer in 01 gespeichert wird.
Bei mir steht allerdings das drin:
-
@damrak2022 , dann halt probieren. Man macht nichts kaputt. Blockly erfordert logisches denken. So habe ich mir das auch angenommen. Was ich nicht weiß lese ich nach. Das Netz ist voll davon. Ich Frage in den seltesten Fällen. Aber nur so kann man davon lernen.
btw...deine Probleme kann ich hier nicht nachvollziehen. Bei mir werden auch Schritte gezählt, frage mich woher die stammen. Ich Wiege mich nur....deshalb bleibe ich beim Gewicht, der Rest isit unplausibel.