Ankündigung

Einklappen
Keine Ankündigung bisher.

Verwendung von Variablen bei SQLite Abfrage

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

    Verwendung von Variablen bei SQLite Abfrage

    Hallo zusammen,

    ich bin Anfänger in Sachen Smarthome.py (und phyton und perl...). Bin aber für meine Begriffe schon relativ weit gekommen.

    Jetzt stehe ich schon 2 Tage an - mit meiner Unwissenheit.
    Ich möchte bei einer SQL-Abfrage eine Variable für die Start- und Endzeit verwenden. Um die Variable zu berechnen habe ich mir erlaubt Tools.py zu modifzieren.
    Code:
    eval = (sh.Solar.Waerme.db('max', 'sh.Tools.getvar(0)')
    Die Funktion sollte xxxxi (Anzahl Minuten) zurückliefern, leider gibt mir der Log folgenden Fehler aus!
    Auch andere Versuche mit der Definition von Variablen in der *.conf Datei sind fehlgeschlagen.

    Fehler:
    Code:
     Solar.Waerme.day SQLite: Problem with '("SELECT time from history WHERE item = 'Solar.Waerme' AND time <= sh.Tools.getmin(0) ORDER BY time DESC LIMIT 1",)': near "(": syntax error -- __init__.py:_fetchone:225
    Hat jemand eine Idee ob das überhaupt so funktionieren kann?

    Warum ich das mache?
    Weil ich "taggenau" bzw. selbstdefiniert den Ertrag ausgeben will und die Möglichkeit mit

    Code:
    crontab=00:00
    eben nur für den Verbrauch ab Mitternacht geeignet ist!

    Ich danke euch in Vorhinein!

    Gruß

    happy

    #2
    Frage

    Hallo Zusammen,

    ich weiß ich bin ein Newbie und vielleicht war meine Frage dumm bzw. unklar.
    Kann mir aber trotzdem irgendwer eine Antwort geben.
    (Geht - Geht nicht...)
    Danke

    happy

    Kommentar


      #3
      Hi,

      ich kann dir bei deinem Problem nicht helfen, da ich selber keine Ahnung habe, aber in deinem Code-Beispiel fehlt wohl eine abschließende ")", gelle?

      Grüße

      Arne

      Kommentar


        #4
        Hi Johnny,

        prinzipiell geht alles.

        Du schreibst von Erweiterungen ohne sie zu posten. Und die Informationsfetzen die Du lieferst lassen auf mangelnde Python- und SQL-Kenntnisse schließen.
        Der String "sh.Tools.getmin(0)" in dem SQL-Query wird z.B. nicht mit dem Ergebnis der Funktion ersetzt. Und was bringt es eine Funktion mit einem statischen Wert aufzurufen?

        Weiterhin Supporte ich keine SQL-Queries mit dem sqlite-Plugin. Das hat eine definierten und dokumentieren Feature-Umfang. Ich behalte mir auch Änderungen an der DB-Struktur vor, die bei einem potentiellen Update Deine Logik kaputt machen können.

        Ich hoffe das Feedback hilft Dir weiter.

        Bis bald

        Marcus

        Kommentar


          #5
          Hallo Arne und Marcus,

          danke für eure Antworten!

          @Arne!
          Danke - Ist Copy/Paste Fehler

          @Marcus
          Ja du hast recht - ich habe mangelnde Python- und SQL-Kenntniss.
          Das macht es mir auch schwer. Ich bin halt in der Windowswelt zu Hause.
          Die Funktion habe ich auch nur deshalb in Tools.py versteckt, weil es mir fürs erste am einfachsten vorkam.

          Der statische Aufruf ist etwas eigen, aber für meine "ersten" Bedürfnisse wäre es brauchbar. Wie geschrieben möchte ich "taggenau" Verbrauchsdaten ermitteln.
          Rückbarwert sollten die Minuten des aktuellen (0) Tages, gestern (1) etc. sein.

          Code:
              def getvar(self, day):
                 t = datetime.datetime.now()
                 return str(t.hour*60 + t.minute + day*60*24)+"i"
          Gruß aus Österreich

          Johnny

          Kommentar

          Lädt...
          X