Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ich hatte smarthome vor dem nas-restart nicht runtergefahren. Nach dem nas/mariadb-restart hab' ich dann smarthome wieder gestartet nachdem ich gemerkt hab' dass keine daten in die db geschrieben wurden. ehrlich gesagt, hatte ich nicht daran gedacht bzw. war davon ausgegangen, dass das db plugin wieder in die db schreiebn kann sobald mariadb wieder verfuegbar ist.
bei software-updates des nas ist die db dann so 10-15min nicht erreichbar - koennte man evtl. im plugin die dumps per befehl "suspenden" und die daten zwischenpuffern bis die dumps wieder erlaubt sind?
ziemlich unten steht:
cd /usr/local/smarthome python3 plugins/database/convert ./var/db/smarthome.db .... # gibt es leider noch nicht
todo: Skript schreiben für die Migration
Hat jemand eine Ahnung wie man mit dem DB Plugin aktuell ein "Count" machen könnte ?
Ich bin dabei eine neue Heizung zu optimieren und hätte gerne einen Plot über eine Woche wo ich für jeden Tag die Anzahl der Brennerstarts / Tag sehen kann. Die "Brenner läuft" Info ist eine Boolean in der DB. Ich bräuchte also eine Funktion dir mir die Anzahl der "1" respektive "True" oder wie auch immer pro Tag zählt, und das für die 7 letzten Tage. Die Summen sollten dann halt in einen Plot.
Ich habe so direkt keine Lösung dafür gefunden, denn AVG, MIN, MAX e.t.c. helfen da nicht viel denke ich ...
Vielleicht sowas in der Art? Verbrauch pro Tag aus dem Gesamtpelletszähler...
Hmmm.. So wie ich das beim Überfliegen interpretiere hast Du einen Zähler der einfach incrementiert. Du nimmst dann mit 'max' den höchsten Wert dieses Tages und ziehst ihn vom akuellen Zähler ab und hast mit der Differenz den Verbrauch des Tages.
Ich habe aber ein Boolean und keinen kontinuirlichen Zähler. Das heisst eine bestimmte Anzahl '1' und '0' pro Tag in der DB. Die 'max' Funktion liefert hier natürlich immer '1' zurück was mir aber nichts bringt. Ich brauche die Anzahl der '1' pro Tag.
Das heisst es müsste eine "COUNT" Funktion geben oder eine 'SUM' Funktion die die '1' zusammenzählt. Count wäre auch für andere Anwendungen nützlicher als eine SUM denke ich.
ich habe mal eine kurze Verständnisfrage, stehe gerade irgendwie auf dem Schlauch.
Ich habe das Plugin jetzt installiert und nach einigen Startproblemen läuft es jetzt auch. Irgendwie habe ich offensichtlich dieses Prinzip der Datenbank nicht verstanden. SmarthomeNG nutzt wie ver Vorgänger eine sqlite - das ist klar.
Wenn ich Daten abrufen will (zb. für einen Plot) werden diese ja ebenfalls aus dieser Datenbank gezogen (nachdem sie vorher rein geschrieben wurden).
Abrufen würde ich jetzt bei mir die Temperaturkurve der letzten 48 Stunden so:
Hast Du das SQLite rausgenommen? Wenn ja kann er ja eigentlich garnicht Daten aus der SQlite DB nehmen?!
Konfig sieht richtig aus, würde aber auf YAML umstellen an Deiner Stelle
wie hast du das mit den 100 grad verifiziert? der aktuelle wert ist ja auch im speicher, ich glaube der kommt defaultmaessig nicht direkt aus der DB so lange SHNG läuft.
monitore doch mal die sql queries die im mysql ankommen.. ein profiler sollte das können: http://www.profilesql.com/
YAML will ich demnächst noch umstellen - habe bislang allerdings keinen Vorteil dabei entdeckt, daher ist das ziemlich weit unten auf meiner "To-Do"
Ich stehe gerde irgendwie auf dem Schlauch - wo nehme ich denn das SQLite raus? Wird das nicht hier festgelegt?:
PHP-Code:
#SQL-Treiber, unterstützt auch die SmartVISU 2.8/2.9 # dazu muß im websocket plugin zwingend die Protokollversion 4 eingetragen sein #[sql] # class_name = SQL # class_path = plugins.sqlite_visu2_8
Wenn Du das meinst, dann habe ich das ja rausgenommen (#)
Die Werte werden in die neue Datenbank geschrieben - in der Tabelle "aussen.garage" habe ich einfach dien Temperatur von 15.2 auf 100.1 geändert. Dann habe ich die Garage selbst in der Visu aufgerufen (dort ist dann ein Plot mit den letzten 48 Stunden). Mir scheint es, als würde er aktuell noch beide Datenbanken nutzen. In beide schreiben, aber nur aus der SQLite auslesen?
Ich bin davon ausgegangen, dass der Plot einmal gewaltig nach oben schießen müsste, wenn die Temperatur über 100 Grad ist.
Ich hatte, nachdem ich den Wert geändert hatte, smarthome neu gestartet. Dann dürfte er doch nichts mehr im Cache sein? Also das ich die aktuelle Temperatur nicht aus der mySQL auslesen kann, hatte ich mir gedacht. Aber zumindest im Plot müsste sich das doch irgendwie bemerkbar machen?
wenn du das sqlite plugin auskommentiert hast (wie du ja sagst) kann er nur mysql nutzen. kannst ja mal dein .db file umschieben, dann kannst dus 100% ausschliessen
es gibt zudem keine tabelle mit itemnamen. es gibt eine mit den letzten wert (item) und eine mit der historie (log) - in der gibt es aber auch keinen itemnamen als attribut sondern nur die item_id als fremdschluessel.. die ITEM tabelle hilft dir für die plots garnichts. die LOG schon.
nachdem du von "aussen.garage" redest, hast du vermutlich auf der Itemtabelle editiert.
m.E. läuft da mit deinen versuchen eher was schief, als dass die falsche db benutzt wird..
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar