Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Database Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    aschwith , ich fürchte, die Abfragen in die Zukunft haben wir mit dem letzten Update des plugins abgeschossen.
    Ich hatte den Wunsch der Community aufgegriffen, Plots für einen ganzen Tag (0 - 24.00 Uhr) zur Verfügung zu stellen. Highcharts kann gut mit Zeiten in der Zukunft umgehen, aber die Datenbank hat mir bei den Tests mit normalen series ne Menge Datenmüll geliefert. Daraufhin hatte ich Msinn gebeten, die Rückgabe von Werten auf "now" zu begrenzen.

    Vorschlag: sobald die negativen durations verlässlich abgestellt sind, kümmern wir uns um dieses Thema. Ich hab da schon eine Idee

    EDIT: ich fände es besser, None durations zu vermeiden, z.B. indem diese beim init des Plugins geprüft und mit "now" aufgefüllt werden.
    Zuletzt geändert von wvhn; 01.07.2020, 20:43.

    Kommentar


      Klingt gut, da mache ich gerne mit.

      Kommentar


        Hallo.
        Ich habe folgendes Problem:
        Ich möchte zu einem gespeicherten Wert in der Datenbank den dazugehörigen Zeitpunkt auslesen.
        Konkret: Ich möchte die tiefste Temperatur des Tages, Jahres, ... Anzeigen lassen und dazu, wann diese Temperatur gespeichert wurde.
        Ist das möglich? Würde mich über einen kleinen Denkanstöße freuen .

        Grüße, Thomas

        Kommentar


          Hallo zusammen,

          ich nutze SmarthomeNG zwischenzeitlich mit dem Dockerimage. Im Dockerimage wird das Modul pymysql nicht mitinstalliert, weshalb ich jetzt immer einen Fehler beim database plugin bekomme. Mir ist beim telegram plugin aufgefallen, dass es wohl eine Möglichkeit gibt, dass das Plugin beim laden automatisch fehlende Python Module nachinstalliert (Requirements.txt)

          Lässt sich das beim database Plugin auch einbauen oder gehört das eher ins Dockerfile?

          Danke und Grüße
          Thomas

          Kommentar


            In der aktuellen Version von SmartHomeNG werden Requirements automatisch installiert, wenn das Plugin eine requirements.txt hat.

            Beim Database Plugin ist der Treiber für MySQL (pymysql) nicht in den Requirements, weil MySQL nicht die Standard Datenbank ist. Normalerweise wird SQLite3 genutzt, was auch out of the Box funktioniert. Für den Großteil der Nutzer ist pymysql kein Requirement, das ca. 80% bis 90% SQLite3 nutzen. Ich nutze übrigens auch einfach SQLite3 und habe selbst mit größeren Datenbanken (ca. 6 GByte) eine gute Performance.

            Die Installation der benötigten Komponenten zur Nutzung von MySQL oder anderen Datenbanken wie z.b. PostgreSQL gehr weit über den Standard Scope hinaus. Wer sich für eine optionale Datenbank entscheidet, muss auch alle benötigten Software Teile installieren.

            Wenn wir pymysql mit installieren würden, würde sicher jemand kommen und sagen "MySQL funktioniert nicht, die Datenbank Software wurde nicht mit installiert"

            Im develop Branch haben wir eine requirements-mysql.txt zum Plugin dazugelegt. Die wird aber nicht automatisch installiert. Wer MySQL nutzt, muss das schon selbst dazu installieren.
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              fair enough.
              Danke.

              Kommentar


                Hallo,
                folgendes Problem:
                Ich habe einen Regenmesser, der als Impulszähler funktioniert. Bei einem Niederschlag von 0,2 mm wird der Zählimpuls um 1 erhöht.
                Wenn ich also wissen möchte, wieviel es in der letzten Stunde / Tag etc. geregnet hat, lasse ich die die Anzahl der Zählimpulse in diesem Zeitraum mit 0.2 multipliziert ausgeben. Dazu verwende ich die Funktion
                Code:
                sh.Wetter.Regen.Impulse.db('countall', '60i') * 0.2
                Komischerweise ist die Anzahl der Impulse, die die Funktion liefert, um 1 zu hoch.
                Oder es wird sogar die Anzahl 1 zurückgeliefert, obwohl in den letzten 60 Minuten gar kein Eintrag in die Datenbank erfolgte.

                Habe ich hier einen Denkfehler bezüglich der Verwendung von countall?
                Dann würde ich als einfache Lösung einfach noch die Anzahl -1 nehmen.
                Oder liegt hier ein Fehler im Plugin vor?

                Grüße
                Thomas

                Kommentar


                  Hi Thomas,

                  am besten schaust Du Dir im Admin-Interface das Webinterface des Plugins an und dort die historischen Daten für das Item. Grundsätzlich steht der letzte in die db geschriebene Wert ja immer mit Duration "none" drin, bis der nächste Wert geschrieben wird. D.h wenn es nicht regnet, müsste dieser Wert im Beobachtungszeitraum konstant bleiben und somit zur Anzahl "1" führen. Deshalb denke ich, dass es richtig ist, die 1 immer zu subtrahieren.

                  Aus der Doku des Plugins kommt zudem folgende Info:
                  • count: for the amount of values not “0” (more examples: count>10, count<10, count=10)
                  • countall: for the amount of values (without checking any condition)
                  Möglicherweise ist das nicht relevant, wenn Dein Sensor keine Impulse (0-1-0 Übergänge) in die db schreibt, sondern die aufaddierte Anzahl an Impulsen.

                  Gruß
                  Wolfram

                  Kommentar


                    Hallo,

                    Zitat von firefox Beitrag anzeigen
                    fair enough.
                    Danke.
                    Im Dockerfile habe ich pymysql hinzugefügt:
                    https://github.com/smarthomeNG/docke...Dockerfile#L82

                    Gruß,
                    Hendrik

                    Kommentar

                    Lädt...
                    X