Posts by wusa

    Also bevor du dir eine Station kaufst, die per USB angeschlossen ist, kannst du dir auch gleich ein NAS kaufen.


    Zyxel NAS (Affiliate-Link)



    Ich habe zwar das Vorgängermodel (Zyxel NSA325) aber ich kann dir zu diesem sagen, dass es absolut gut läuft.

    Ist bei mir schon ein paar Jahr im Einsatz mit 2x1TB WD Green und bin super zufrieden.

    Ich habe das ganze jetzt nochmal alles geprüft und mit einem Elektriker in der Arbeit gesprochen.

    Er meinte das es gut sein kann, da solche Displays in Zeilen aufgebaut ist. Die Zeilen sind dann wiederum in Bereiche aufgeteilt.


    Wenn jetzt ein Bereich, der für den unteren Teil des Bildschirms zuständig ist, beschädigt ist, dann kann es gut sein, dass es nur noch zur hälfte geht.


    Das Kabel selbst habe ich nochmal auf Beschädigungen geprüft und optisch nichts festgestellt.

    Komisch ist nur, dass nur der Touch nicht mehr geht. Die Anzeige selbst funktioniert. Mit angeschlossener Maus kann ich auch im unteren Teil des Displays was anklicken.


    Thema ist für mich somit abgeschlossen.

    Sucht in einem Subset aus min(temp) die 144 Werte raus. Wenn da nur einer mit dem Minimum ist, also keine zwei mit einem Wert von 2,8, bekommst du nur einen Wert. Anders wäre es wenn du 155 Minimum Werte mit 2.8 hättest, dann würde er dir die letzten 144 sortiert nach ID ausgeben.

    Bei nur 99 min Werten mit 2.8 eben nur die 99.

    Vielen Dank für die Erklärung! Das war mir so nicht klar. Jetzt ist es allerdings verständlich!


    Lt. Ausgangsstellung wird das Auslesen immer um 0.00Uhr per Cronjob gestartet. Wenn die Ausführung ein paar Sekunden später startet und in der Zeit dazwischen ein neuer Min-Wert geschrieben wird, wird er auch von der Abfrage erfasst, obwohl er jedoch zum letzten Tag gar nicht mehr zählen dürfte.

    Ich könnte den Cronjob auch um 23:55 Uhr starten. Da ich immer alle 10 Min abfrage ist die letzte Abfrage am Tag um 23:50 Uhr und der Cronjob hat somit 5 Minuten Zeit. Das sollte somit dann sauberer sein. Dann hätte ich die Werte von 00:00 Uhr bis 23:50 Uhr.

    Oder täusche ich mich hier?

    Wenn ich den Cronjob um 23:55 Uhr starte, und -1 Tag sage dann sollte doch eigentlich die Zeit zwischen 23:55 Uhr und und 23:55 Uhr sein.

    Letzter Datensatz am Tag ist 23:50 Uhr. Dieser sollte doch dann nicht mehr in die Abfrage mit rein fallen.

    Ich stelle mir die Abfrage so vor, dass der erste genommene Datensatz somit 00:00 Uhr sein sollte bis 23:55 Uhr?



    RRDtool

    Ich habe mir irgendwie gegen RRDtool entschieden.

    Ich habe vor wenn ich mal Daten gesammelt habe, dass ich Matplotlib verwende. Das ist für mich auf den ersten Blick verständlicher.

    Ich brauche auch keine dynamischen Bilder, mir reichen statische.

    noisefloor ja es geht um Python.

    ORM werde ich mir mal ansehen, allerdings hast du mir schon mal SQLAlchemy vorgeschlagen. Ich habe aber momentan wirklich wenig Zeit mich mit dem zu befassen.

    Bin auch noch dabei Python zu lernen. Da hapert es auch schon etwas ;)


    Ich habe jetzt allerdings durch Hofei eine Lösung gefunden.


    Code
    select min(temp), max(temp) from wetterdaten where zeit between datetime('now','-1 day') and datetime('now')

    Mit dem kommen ich genau an das Ergebnis was ich mir vorgestellt habe.

    Hallo Zusammen,


    ich habe ein kleines Problem bei einer Abfrag in SQLite.

    Ich frage von Openweathermap verschiedene Daten ab. Unter anderem, die Temperatur, Luftfeuchtigkeit und die Windgeschwindigkeit.


    Aufgebaut ist SQLite so:

    Code
    id   |zeit                |temp |feuchtigkeit |wind
    2108 |2019-09-30 13:40:02 |18.43|48           |8.7
    2107 |2019-09-30 13:30:06 |17.99|48           |8.7
    2106 |2019-09-30 13:20:02 |17.77|48           |8.7
    2105 |2019-09-30 13:10:02 |17.83|45           |9.3
    2104 |2019-09-30 13:00:35 |17.89|45           |9.3
    2103 |2019-09-30 12:50:02 |17.92|45           |9.3
    2102 |2019-09-30 12:40:02 |17.49|51           |10.3
    2101 |2019-09-30 12:30:18 |17.57|51           |10.3
    2100 |2019-09-30 12:20:02 |17.41|51           |10.3

    Ich frage Openweathermap alle 10 Minute ab und trage die Daten in die SQLite DB ein.


    Jetzt würde ich gerne den Durchschnitt und gerne die Max und Min Werte zb. von "temp" haben über einen Tag.


    Führe ich folgenden Befehl aus:

    Code
    select id, min(temp) from wetterdaten;

    erhalte ich als Ausgabe:

    Code
    622|2.8

    Soweit auch so richtig, ich will den niedrigsten Wert in der DB haben.


    Frage ich jetzt allerdings so ab:

    Code
    select id, min(temp) from wetterdaten order by id desc limit 1;

    Er halte ich auch folgende Ausgabe:

    Code
    622|2.8

    Ich grenze meine Abfrage allerdings auf den letzten Wert ein, wie kann das sein, dass hier auch der Wert aus Zeile 622 raus kommt?


    Ich würde gerne die Abfrage immer um 00:00 Uhr machen. Somit kann ich immer genau den Tag eingrenzen.

    Code
    select id, min(temp) from wetterdaten order by id desc limit 144;

    Allerdings habe ich auch um 0 Uhr nachts folgende Ausgabe:

    Code
    622|2.8

    Auch diese Abfragen liefern mir immer wieder die Zeile 622:

    Code
    select id, temp  from wetterdaten t where t.temp in (select min(temp) from wetterdaten) ;
    Code
    select id, temp from wetterdaten where temp=(select min(temp)from wetterdaten) ORDER BY id DESC LIMIT 144;


    In den letzten 144 Einträge ist allerdings kein Wert mit 2,8 vorhanden.

    Meine Einträge in der DB sind momentan bei ID 2109. Somit fällt auch die ID 622 welche immer wieder kommt, nicht in das Limit von 144.


    Ich stehe hier irgendwie am Schlauch.

    Beides. Ein Tuple ist ein einmehrdimensionales Array. Aber egal, es ging doch hier ja nur darum ein Dict sprachenübergreifend zu erklären. ;) Vielleicht kennt sich wusa ja besser in C oder bash usw. aus und kam nur nicht darauf, das ein dictionary ein assoziatives Array ist.

    Vielen Dank für die Erklärung. Ich habe weder Erfahrung mit C noch mit Bash. Habe mit Python angefangen.

    Mir war das ganze einfach nicht klar, wie es funktioniert. Habe mich da etwas an dem Key aufgehängt da für ein und das selbe Wort 2 verschiedene Ausgaben generiert wurden.

    Das Beispiel von Astorek86 habe ich super Verständlich gefunden!

    Hallo Zusammen,


    Ich habe ein kleines Verständnisproblem beim iterieren über ein Dict.


    Dict:

    Code
    a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}

    For Scheife:

    Code
    for key in a_dict:
        print(key, '->', a_dict[key])

    Ausgabe:

    Code
    color -> blue
    fruit -> apple
    pet -> dog

    Ich verstehe hier nicht, wie "key" zwei verschiedene Ausgaben haben kann.

    Einerseits "color" andererseits "blue"


    Gibt es hier eine Erklärung wie das gehandhabt wird?




    Verständlicher würde es natürlich auch so gehen:

    Code
    for key, value in a_dict.items():
        print(key, '->', value)
    
    color -> blue
    fruit -> apple
    pet -> dog

    Habe jetzt in einem älteren Beitrag die Moode Version gefunden, die ich genutzt habe.

    Direkt runter geladen und installiert.


    Selbes Problem. Das Display funktioniert nur in der oberen Hälfte.


    Habe jetzt das gesamte Display mal auseinander gebaut, und wieder Stück für Stück alles zusammen gebaut.

    Auch habe ich einen anderen Raspi verwendet.

    Bei allen Möglichkeiten ist das selbe Problem vorhanden.


    Ich vermute hier, dass das Display einen Schaden hat?

    Servus.. Jetzt hat es leider etwas länger gedauert.

    Habe jetzt mal die aktuellste Version von moode getestet, selbes Problem.

    Dann habe ich versucht in moode das Display zu drehen. Weiterhin keine Besserung..

    Nachdem habe ich das aktuelle Raspian Buster getestet.

    Auch keine Besserung..


    Ich finde das sehr komisch, das vorher alles wunderbar funktionierte und nach dem Update jetzt nichts mehr geht.

    Den Stand vor dem Update habe ich nicht mehr. Habe die selbe SD Karte verwendet.

    Backup habe ich auch nicht, das sich nur um einen Radio handelt.

    Eine statische Route von internen Netz zum Gast Netz macht doch keinen Sinn... Somit bräuchte man ja kein Gast Netz und könnte alle Clients über ein Netz laufen lassen.

    Hallo Zusammen,


    ich habe ein offizielles Raspi Display in Verbindung mit MoodeAudio in der aktuellsten Version.

    Seit dem Update auf die aktuellste Version funktioniert das Touchdisplay nur noch in der oberen Hälfte. Die Anzeige funktioniert über das ganze Display ohne Probleme.


    Möchte ich in der unteren Hälfte etwas über den Touch anklicken, dann kommt keine Reaktion vom Display. Ich habe den Mauszeiger eingeschaltet. Wische ich von oben nach unten, bleibt der Zeiger ziemlich genau bei der Hälfte stehen.

    Schließe ich eine Maus per USB an, dann kann ich die Maus im ganzen Display bewegen und auch Sachen im unteren Bildschirmbereich anklicken.


    Komisch ist das ganze nur, da es vor dem Update wunderbar funktioniert hat.


    Das Display ist weder runtergefallen noch sonst irgendetwas. Habe zum Updaten nur die SD Karte raus genommen und wieder am selben Platz eingebaut.


    Ist euch so ein Problem schon einmal unter gekommen?

    noisefloor

    Erstmal vielen Dank für dein Skript. Allerdings bin ich überhaupt nicht Fit in Python und verstehe daher dein Skript leider auch nicht.

    Die Zeit mich Intensiv mit Python auseinander zu setzen fehlt mir leider auch... würde es gerne besser können.


    Ich habe allerdings mal angefangen, ein Skript zu schreiben, dass vermutlich furchtbar aussieht, aber das ich verstehe.


    Das ganze funktioniert schon mal, allerdings wird es relativ unübersichtlich, wenn man dort 20 Tankstellen einbindet.

    Klar kann ich das ganze für jede Tankstelle gleich schreiben, nur irgendwie ist es nicht schön.


    Wenn ich das ganze dann auch noch in die SQLite DB bringen will muss ich für jeden Insert eine eigene Anweisung schreiben.


    Gibt es nicht irgendwie die Möglichkeit, das ganze in einer Art Schleife abzufragen und auch später in die DB einzutragen?

    "ID" ist doch eine vorlaufende Nummer?

    Wie kannst du das als eindeutigen Kenner nehmen?


    Sprichst du nicht von dem Eintrag "TANKE" als ID ?

    Danke!


    Verstehe du schlüsselst anhand der TANKE auf die 2 Tabelle.

    TANKE ist quasi dein Primary Key?


    Die 2. Tabelle sieht dann vermutlich so aus:


    Code
    +---------+-----------+--------+-------+
    | TankeID | Name      | Straße | usw   |
    +---------+-----------+--------+-------+
    |  1      |   OMV     |    x   |       |
    |  2      |   Shell   |    y   |       |
    |  3      |   Agip    |    z   |       |
    |  4      |   Esso    |    xy  |       |
    +---------+-----------+--------+-------+

    Also mir wäre da sehr geholfen.

    Wie gesagt ich kenne mich mit relationalen Datenbanken überhaupt nicht aus.


    Habe bisher nur mit einer Tabelle gearbeitet und alle Werte in eine Zeile geschrieben.


    Es muss grundsätzlich auch nichts aufwendiges sein. Wenn die Lösung von WaldiBVB funktioniert, dann bin ich damit auch zufrieden.

    Performance ist denke ich hier auch nicht so ausschlaggebend.