Tagebuch

Du hast einen Vorschlag? Dich nervt was? Hier rein...
Antworten
sebkorn
User
User
Beiträge: 7
Registriert: Fr 20. Aug 2021, 10:50

Tagebuch

Beitrag von sebkorn »

Hallo allerseits,
ich hoffe das passt hier rein, falls nicht gerne verschieben. Meine Oma schreibt seit einigen Jahren immer Tagebuch. Nicht täglich, aber immer wenn irgendwas besonderes war schreibt sie sich auf wie das Wetter war und was gemacht wurde und so weiter. Finde ich sehr süß, wenn man dann sieht "heute vor 6 Monaten / 2 Jahren / ... haben wir ... gemacht". Und das lässt sich ja vorzüglich digitalisieren, Wetterdaten gibts dank dem 433MHz Stick eh. (Für so was wie "weißt du wie an deinem Geburtstag das Wetter war".)

Nur bin ich mir unklar wie ich die Daten speichere (InfluxDB?!) und insbesondere wie ich sie dann gut visualisieren kann. Das speichern in der Influx hätte den Vorteil, dass man es easy über das NodeRed Dashboard eingeben kann. Oder sind da andere Datenbanken besser?

Deutlich größere Probleme macht mir das visualisieren. Ich hatte da an Grafana gedacht in einer Tabelle, bin aber zu unsicher, wie man auswählt, welche Zeitbereiche man genau haben möchte. Gibt es da ein anderes Tool, dass das machen könnte? Kennt vielleicht jemand ein Tool, dass die Funktion mit abdeckt? Bin für Vorschläge und Ideen offen!

Würde mich freuen, wenn ihr mir helft
Viele Grüße
Sebastian

Benutzeravatar
ei23felix
Administrator
Administrator
Beiträge: 46
Registriert: Sa 17. Jul 2021, 10:44
Kontaktdaten:

Re: Tagebuch

Beitrag von ei23felix »

Hi Sebastian,
also Wetterdaten - influxDB + Grafana ist da schon ideal
Lediglich muss man dann mal gucken wie man die Daten langfristig runterrastert, sonst hast du nach 10 Jahren eine riesen Datenbank und die wird dann natürlich auch langsamer und niemand braucht die Temperatur von vor 5 Jahren auf die Minute genau. Geht mit InfluxDB aber recht gut.

Ich hab auch ein digitales Tagebuch, ich nutze "Diary", eine OpenSource Android-App die auf Markdown basiert.
https://f-droid.org/en/packages/org.bil ... mer.diary/
Da binde ich dann hin und wieder Sprachmemos und Bilder ein und das Format funktioniert auch unabhängig von der App.
Die Einträge werden automatisch in Ordnern nach Zeit sortiert und diese Ordner synchronisiere ich mit der Nextcloud.
  • Böse Menschen sind selten tatsächlich böse, meistens eher faul oder dumm.
  • Du kannst nur dann sicher sein, wenn du weißt, dass du nie ganz sicher sein kannst.
  • Du kannst nur unabhängig werden, wenn du weißt, dass du nie ganz unabhängig sein wirst.

Andy
Administrator
Administrator
Beiträge: 82
Registriert: Fr 16. Jul 2021, 22:06
Has thanked: 1 time

Re: Tagebuch

Beitrag von Andy »

Felix, verschiebst du den Beitrag? :-) ich weiss nicht wohin. evt brauchen wir einen neuen Forenbereich oder sowas.
Raspberry PI 4B 4GB # 2Ghz Takt # 500GB HDD (KODI IPTV)
Raspberry PI 4B 8GB # 2Ghz Takt # 1TB 2.5" HDD (EI23 Skript)

sebkorn
User
User
Beiträge: 7
Registriert: Fr 20. Aug 2021, 10:50

Re: Tagebuch

Beitrag von sebkorn »

Also ich war mit der Antwort jetzt leider nicht so richtig happy, deshalb hab ich meine Vorstellung jetzt einfach mal selbst umgesetzt. Und da das hier ja eine Community werden soll / ist, dachte ich ich teile meinen Ansatz einfach mal, vielleicht hat da ja jemand Spaß dran und möchte es übernehmen.

Kurz zur Erläuterung: Ich mag das Node Red Dashboard sehr und wollte nicht noch eine weitere App nutzen. Da ich meistens Abends im Bett die Lichter ausschalte, eignet es sich gut, um dann die Daten einzugeben, was ich heute gemacht habe. Außerdem schaue ich da jeden Tag mindestens 1-2 Mal drauf und sehe so, was letztes Jahr los war.

Wenn man die Nodes kopiert kann man im Moments-Node einfach letzte Woche / Monat / Jahr eingeben und so die entsprechenden Ereignisse der Tage angezeigt bekommen. Was fehlt sind die Wetterdaten, falls das wichtig ist gehe ich auf Grafana. Mal sehen, ggf. implementiere ich das noch, dass mir eine Zusammenfassung auf dem Dashboard angezeigt wird.

Code: Alles auswählen

[
    {
        "id": "f7af2e299ef3fa52",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": ""
    },
    {
        "id": "0511c17e23467e98",
        "type": "function",
        "z": "f7af2e299ef3fa52",
        "name": "",
        "func": "var pay = [];\nfor (var i = 0; i < msg.payload.query.length; i++){\n    if (String(msg.payload.query[i].time).indexOf(msg.payload.yesterday)){\n        node.send(null);\n    }\n    else{\n        pay.push(msg.payload.query[i].tagebuch);\n    }\n}\nvar newMsg = {payload : pay};\nreturn newMsg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 620,
        "y": 240,
        "wires": [
            [
                "86ea46da9f36d90b"
            ]
        ]
    },
    {
        "id": "27532dad81eb7c8f",
        "type": "join",
        "z": "f7af2e299ef3fa52",
        "name": "",
        "mode": "custom",
        "build": "object",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "accumulate": false,
        "timeout": "",
        "count": "2",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "num",
        "reduceFixup": "",
        "x": 490,
        "y": 240,
        "wires": [
            [
                "0511c17e23467e98"
            ]
        ]
    },
    {
        "id": "86ea46da9f36d90b",
        "type": "switch",
        "z": "f7af2e299ef3fa52",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "nempty"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 770,
        "y": 240,
        "wires": [
            [
                "115f9cc2de5e26bb"
            ]
        ]
    },
    {
        "id": "316f53fd94f6a6f2",
        "type": "influxdb in",
        "z": "f7af2e299ef3fa52",
        "influxdb": "87f98227.1edcd8",
        "name": "Abfrage gestern",
        "query": "SELECT * FROM Tagebuch WHERE time < now()",
        "rawOutput": false,
        "precision": "h",
        "retentionPolicy": "",
        "org": "organisation",
        "x": 300,
        "y": 240,
        "wires": [
            [
                "27532dad81eb7c8f"
            ]
        ]
    },
    {
        "id": "1baa6b8027267191",
        "type": "moment",
        "z": "f7af2e299ef3fa52",
        "name": "Gestern",
        "topic": "yesterday",
        "input": "",
        "inputType": "msg",
        "inTz": "Europe/Berlin",
        "adjAmount": "1",
        "adjType": "days",
        "adjDir": "subtract",
        "format": "ddd MMM DD yyyy",
        "locale": "en-GB",
        "output": "payload",
        "outputType": "msg",
        "outTz": "Europe/Berlin",
        "x": 300,
        "y": 200,
        "wires": [
            [
                "27532dad81eb7c8f"
            ]
        ]
    },
    {
        "id": "115f9cc2de5e26bb",
        "type": "template",
        "z": "f7af2e299ef3fa52",
        "name": "",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "Gestern: {{payload}}",
        "output": "str",
        "x": 940,
        "y": 240,
        "wires": [
            [
                "69940489b2011f43"
            ]
        ]
    },
    {
        "id": "853ed092a61ac0f6",
        "type": "inject",
        "z": "f7af2e299ef3fa52",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "01 00 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "query",
        "payloadType": "date",
        "x": 110,
        "y": 240,
        "wires": [
            [
                "316f53fd94f6a6f2",
                "1baa6b8027267191"
            ]
        ]
    },
    {
        "id": "69940489b2011f43",
        "type": "ui_template",
        "z": "f7af2e299ef3fa52",
        "group": "b937132b.79e1a8",
        "name": "",
        "order": 11,
        "width": 0,
        "height": 0,
        "format": "<div ng-bind-html=\"msg.payload\"></div>",
        "storeOutMessages": true,
        "fwdInMessages": true,
        "resendOnRefresh": true,
        "templateScope": "local",
        "x": 1120,
        "y": 240,
        "wires": [
            []
        ]
    },
    {
        "id": "87f98227.1edcd8",
        "type": "influxdb",
        "hostname": "127.0.0.1",
        "port": "8086",
        "protocol": "http",
        "database": "MAIN",
        "name": "MainDB",
        "usetls": false,
        "tls": "",
        "influxdbVersion": "1.x",
        "url": "",
        "rejectUnauthorized": false
    },
    {
        "id": "b937132b.79e1a8",
        "type": "ui_group",
        "name": "Allgemein",
        "tab": "a5642718.ce1cb8",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": false
    },
    {
        "id": "a5642718.ce1cb8",
        "type": "ui_tab",
        "name": "Allgemein",
        "icon": "dashboard",
        "disabled": false,
        "hidden": false
    }
]
Das ist mein Node Red Flow, den man einfach einfügen kann.

Antworten