Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Smart Health ;-)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Smart Health ;-)

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

      Hallo zusammen,

      ich habe eine Idee, die nur wenig mit SmartHome zu tun hat, aber evtl. dem ein oder anderen Spaß machen könnte.
      Da der Raspberry Pi ja ohnehin läuft, kann der auch das nachfolgende Thema abarbeiten. Ich habe das eine Zeitlang mit einer Excel-Tabelle gemacht, ist aber auch wieder "eingeschlafen".

      Ich nehme regelmäßig täglich neun verschiedene Medikamente in unterschiedlichen Dosierungen ein. Immer, oder jedenfalls ganz oft, wenn die letzte Pille geschluckt ist merke ich, dass ich vergessen habe, nach zu ordern.
      Diese Script soll mir (... und jedem der oder die möchte) das Medikamentenhandling erleichtern und automatisieren.

      Den aktuellen Bestände (Anzahl Pillen) habe ich erfasst und in den Datenpunkten MED001_aktBestand bis MED009_aktBestand eingetragen.
      In weiteren Datenpunkten MED001_TagDosis bis MED009_TagDosis wird die Tagesdosis, also die Anzahl Pillen pro Tag eingetragen

      Weiterhin gibt es "fixe" Datenpunkt
      MED001_Label bis MED 009_Label für die Klartextbezeichnung des jeweiligen Medikamentes (z. B. "Ass 100")
      MED001_VPE bis MED009__VPE für die jeweilige Packungsgröße (Anzahl Pille je Päckchen)

      Täglich, z. B. um 23:30 wird vom aktuellen Bestand eines jeden Medikamentes die täglich Dosis abgezogen und in den Datenpunkt zurück geschrieben.
      Danach wird der aktuelle Bestand durch die Tagesdosis geteilt und das Ergebnis in die jeweiligen Datenpunkte MED001_Resttage bis MED 009_Resttage geschrieben.

      Das ist soweit fertig und löppt.

      Jetzt kommt bei mir die "Knickstelle", an der ich nicht weiter komme:

      Wenn nun bei der täglichen Prüfung um 23:45 Uhr bei einem Medikament (Hier am Beispiel MED001) eine Prüfung ergibt, das die Anzahl der Resttage (also die Anzahl der Tage, für die noch Medikamente zur Verfügung stehen) < 15 Tage ist, soll folgendes passieren:

      1. Das betreffende Medikament soll mit dem Klarnamen (.. also MED001_Label) z.B: in eine Liste "Bestellliste" eingetragen werden, in die noch weitere MED00X_Label eingefügt werden können (mit Trennzeichen?).

      2. Der aktuelle Bestand des betreffenden Medikamentes soll um den Wert, der in dem Datenpunkt MED001_VPE steht, erhöht werden.

      3. Der Datenpunkt MED001_Resttage soll aktualisiert werden (MED001_aktBestand/MED001_TagDosis = MED001_Resttage)

      4. Es soll eine Prüfung aller Medikamente stattfinden, welche in den kommenden 2 Woche eine weitere Bestallung auslösen könnten.
        Alle Medikamente, deren Resttage < 29 ist sind dann wie die Punkte 1 - 3 zu behandeln, zu bestellende Packungen sind in die "Bestellliste" einzutragen.

      Nach Ablauf aller Prüfungen der 9 Medikamente möchte ich die Klartextbezeichnungen und die zugehörige VPE in eine E-Mail, die direkt an meinen Hausarzt, cc an mich, versand wird, ausgeben.

      Als weiteren Schritt des Ganzen soll es in der Visualisierung einen Screen geben, der die wichtigsten Daten anzeigt (Klarname, Bestand, VPE, TagDosis). Evtl. soll man bestimmte Werte anpassen können.

      Ich fummle schon eine geraume Zeit am Thema "Liste" herum, habe mich aber "vermutlich velaufen" und sehe vor lauter Bäumen keinen Wald mehr.

      Kann mir jemand meinen Knoten zerschlagen? Oder gibt es so etwas schon?
      Wo hänge ich fest?

      Was haltet ihr von der Idee?

      Dankbare Grüße
      Hans K.

      arteck David G. 2 Replies Last reply Reply Quote 1
      • arteck
        arteck Developer Most Active @HansK last edited by

        @hansk die Idee finde ich klasse wird/ist aber ziemlich komplex.

        hast du schon was geschrieben ? blockly ?? javascript ?

        1 Reply Last reply Reply Quote 0
        • David G.
          David G. @HansK last edited by David G.

          @hansk

          Vergiss meine Antwort.
          Das meiste hast du ja schon umgesetzt.
          Zu schnell gescrollt beim lesen ^^.

          Die Idee finde ich aber gut.

          Sende doch mal ein Bild von deinem Listenversuch.


          Ich würde vermutlich gar nicht mit Listen arbeiten.

          Wenn ich es umsetzen müsste, würde ich mir folgende Ordnerstruktur in userdata.0 erstellen.

          Medikamente

          • Settings

            • Minimum_Resttage
            • Emailemfaenger
            • ...
          • Medikament_1

            • Name
            • Bestand
            • Tagesdosis
            • Minimaler_Lagerbestand
            • VPE
            • ...
          • Medikament_2

            • Name
            • Bestand
            • Tagesdosis
            • Minimaler_Lagerbestand
            • VPE
            • ...

          Ich arbeite mit Blockly.
          Da würde ich jetzt die entsprechenden Dinge berechnen.
          Entweder einzeln oder mit einer Liste die man sich mit "id von selektor" erstellt.
          Also jeden Tag die entsprechende Anzahl subtrahieren, die Resttage ermitteln, die jeweiligen Ergebnisse in eine Liste oder einen Textblock schreiben und die Mail versenden.
          In einer Variablen kann man ja die Anzahl der zu bestellenden Medikamente mitzählen, um die Email entsprechend zu formatieren (wenn denn überhaupt eine versendet werden soll, wenn es keinen bedarf gibt).

          1 Reply Last reply Reply Quote 0
          • H
            HansK last edited by

            Hallo,
            ich bin an dem Thema noch dran und habe in den ersten Produktivläufen noch "Ungereimtheiten" drin.
            Melde mich, wenn's perfekt läuft.

            MfG Hans K.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            761
            Online

            32.0k
            Users

            80.5k
            Topics

            1.3m
            Posts

            3
            4
            306
            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