Tagebuch

Du willst uns dein Projekt verstellen? Dann mal keine Hemmungen. Hier ist alles erlaubt was du mit Hilfe des Skript´s und dem Raspberry Pi 4 realisiert hast oder realisieren willst.
Antworten
sebkorn
User
User
Beiträge: 9
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: 306
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
User
User
Beiträge: 194
Registriert: Fr 16. Jul 2021, 22:06

Re: Tagebuch

Beitrag von Andy »

Felix, verschiebst du den Beitrag? :-) ich weiss nicht wohin. evt brauchen wir einen neuen Forenbereich oder sowas.
Raspberry PI 400 4GB # Raspberry PI 4B 4GB

sebkorn
User
User
Beiträge: 9
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.

Sonnennutzer
User
User
Beiträge: 22
Registriert: Sa 24. Jul 2021, 10:52

Re: Tagebuch

Beitrag von Sonnennutzer »

Danke @sebkorn für das Teilen Deines Projektes. Von der Idee her nicht schlecht, aber ich glaube eher nix für mich.

Ich schreibe hauptsächlich auf meinen Reisen Tagebuch für Familie und Freunde um nicht jedem einzeln schreiben zu müssen. Bisher rel. unbefriedigt mit Blogseiten im Netz. Dachte da an ein wiki auf dem Raspi. Glaube da mal was gelesen zu haben. Das sollte ideal sein. :-). Einzig der Zugriff darauf für Freunde würde mir wohl Bauchschmerzen bereiten:
1) Ich weiß nicht, wie man das nach außen gibt
2) Wenn es nach außen offen ist, ist das sicher dann auch ein Einfallstor für Hacker

Derzeit greife ich nur per VPN auf meine Daten zu Hause (Dashboard, SmartHome, Doc) zu. Das funktioniert mit der FritzBox recht einfach. Sowohl vom Handy, als auch nach einer entsprechenden Anleitung und Zusatzsoftware auf dem PC.

Die Anregung von @Felix finde ich aber auch nicht schlecht. Muss ich mal anschauen. Mein Problem damit vermutlich ist aber, dass ich auf dem Handy schlecht im Schreiben bin.

Antworten