Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Database Plugin
Einklappen
X
-
ich habe auch meine Visu auf MariaDB umgestellt. Läuft alles sehr gut. Die Datenbank ist super schnell. Wie bekomme ich die SmartHome.py Monitor Daten in die DB, bzw. so hin, dass ich den Chart wieder sehe?
Das Item env.system.load gibt es in der conf Datei nicht.
Jemand eine Idee?
VG
Alex
Einen Kommentar schreiben:
-
Ich bin nicht mal sicher, ob in der smartVISU Anpassungen notwendig wären. Der Mode (wie MIN, MAX oder das neue COUNT) wird ungeprüft an SHNG durchgereicht.
Einzig die Doku müsste erweitert werden.
Einen Kommentar schreiben:
-
Ich würde Euch bitten mal ein Issue aufzumachen bezüglich der Erweiterung des SmartHomeNG Core und der Erweiterung der SmartVISU. Es muß das Websocket Protokoll entsprechend erweitert werden. Wenn man das schon macht, kann man sich optional dann auch um weitere Erweiterungen kümmern...
- Likes 1
Einen Kommentar schreiben:
-
Darf ich mal fragen, warum man in der Datenbank nicht einfach die Werte bspw. der letzte Stunde einträgt und diese dann resetet?
Später hat man dann einfach die Möglichkeit die Werte tage-,wochen- oder monatsweise zusammenzufahren um sie zu komprimieren, auch einen Durchschnitt oder Verbrauch in einem historischen Zeitraum (im Januar, im Februar usw) könnte man m.E.n. einfacher da "raus ziehen".
Grüße
David
Einen Kommentar schreiben:
-
Ich würde auch sehr für eine SUM und eine COUNT Funktion plädieren. Und evtl. noch eine RAISE oder GROWTH oder sowas, um direkt das Wachstum innerhalb einer Periode (also letzter Wert minus erster Wert) abfragen zu können.
Diese könnten dann auch in Plots der smartVISU verwendet werden.
Einen Kommentar schreiben:
-
Foxi352
Ich habe auch einen bool'sche Eingabe von einem Binäraktor, mit der ich Zyklen und auch Dauern auswerte (Ölbrenner mit Brennzyklen und Brenndauer).
So habe ich das gemacht:
Funktioniert alles gut, bis auf wenn kein Tageseintrag in die DB geschrieben ist. Dann kommt eine Fehlermeldung (none type).Code:[[brenner]] name = Brennerstatus Heizung type = bool visu = yes visu_acl = ro sqlite = yes knx_dpt = 1 knx_cache = 0/3/91 knx_reply = 0/3/91 [[[betriebsstunden]]] name = Betriebsstundenzähler Brenner Heizung in Sekunden type = num visu = yes visu_acl = ro sqlite = yes eval = sh.heizung.brenner.betriebsstunden() + int(sh.heizung.brenner.prev_value()) * sh.heizung.brenner.prev_age() eval_trigger = heizung.brenner [[[[gesamt]]]] name = Betriebsstundenzähler Brenner Heizung in Stunden type = num visu = yes visu_acl = ro sqlite = yes eval = round(sh.heizung.brenner.betriebsstunden() / 60 / 60, 2) eval_trigger = heizung.brenner.betriebsstunden [[[[heute]]]] type = num visu = yes visu_acl = ro sqlite = yes eval = round((sh.heizung.brenner.betriebsstunden() - sh.heizung.brenner.betriebsstunden.db('min', sh.time.minute.since.midnight.dbstr())) / 60 /60, 2) eval_trigger = heizung.brenner.betriebsstunden [[[[woche]]]] type = num visu = yes visu_acl = ro eval = round((sh.heizung.brenner.betriebsstunden() - sh.heizung.brenner.betriebsstunden.db('min', sh.time.minute.since.week.dbstr())) / 60 / 60, 2) eval_trigger = heizung.brenner.betriebsstunden sqlite = yes [[[zyklen]]] name = Zyklen Brenner Heizung type = num visu = yes visu_acl = ro sqlite = yes eval = sh.heizung.brenner.zyklen() + int(sh.heizung.brenner.prev_value()) eval_trigger = heizung.brenner [[[[heute]]]] type = num visu = yes visu_acl = ro sqlite = yes cache = yes crontab = init | * * * * = 1 eval = sh.heizung.brenner.zyklen() - sh.heizung.brenner.zyklen.db('max', sh.time.minute.since.midnight.dbstr(), sh.time.minute.since.midnight.dbstr()) eval_trigger = heizung.brenner.zyklen [[[[gestern]]]] type = num visu = yes visu_acl = ro sqlite = yes cache = yes crontab = init | 0 0 * * = 1 eval = sh.heizung.brenner.zyklen() - sh.heizung.brenner.zyklen.db('max', '1d','1d')
Hier muss ich mal überlegen, wie man um 0.01 einen Fake Eintrag in die DB bekommt.
Vielleicht fällt dir was ein.
Siehe auch hier: https://knx-user-forum.de/forum/supp...nes-bool-items
Gruß
Michael
Einen Kommentar schreiben:
-
Hi smai,
ich nehme das nicht persönlich. Ihr habt ja recht - ich habe mich für die Develop entschieden, weil ich gerade etwas Zeit habe und mich intensiv damit beschäftigen kann.
Außerdem möchte ich natürlich auch helfen - wenn ich hier schon so oft blöde Fragen stelle, dann will ich auch etwas gutes für dieses tun und es nicht einfach nur benutzen ohne meinen bestmöglichen Teil dazu beigetragen zu haben.
Wie gesagt, ich bin gerade einfach etwas genervt, weil das alles nicht so will wie es soll und es ja mal funktioniert hat. Das hat aber nichts mit dem Projekt zu tun oder mit jemanden von euch. Ihr macht das hier alle aus Liebe zum Projekt und das sollte man auch ehren. Und der Support im Forum ist ja nun wirklich tadellos.
Ich werde meine Baustellen schon bereinigt bekommen. Vielleicht kann ich ja mit meinen Fehlern und Fragen auch etwas dazu beitragen, dass es den Entwicklern der Projekte etwas hilft. :-)
Viele Grüße
Einen Kommentar schreiben:
-
BlackCrow
Bitte versteh folgendes nicht böse oder persönlich.
Wenn du nicht viel Zeit investieren willst, dann solltest du nicht die Develop-Versionen nutzen.
Dort gibt es noch viele Bugs, nicht fertig implementierte Features, undokumentierte Neuerungen und andere Unwegsamkeiten.
Wenn jemand die develop nutzt und Unterstützung dabei will, erwarte ich schon, dass er auch Zeit, Nerven, Fähigkeit und Willen hat, um bei der Problemlösung zu helfen.
Sonst bleibst du besser beim master bzw. stable release (im Falle der smartVISU ist dies 2.8).
- Likes 1
Einen Kommentar schreiben:
-
BlackCrow naja bei den kommerziellen Produkten brauchst Du am Ende noch nen Elektriker um die Dinge upzugraden ;-) Und das kostet dann bares Geld... Das hat man bei frischem Nachwuchs meist noch weniger als die Zeit.
Ich würde halt erstmal bei einem Ding anfangen (SmartVisu Upgrade) und erst danach an der nächsten Baustelle weitermachen.
Genauso wie bei Plugins, nicht immer alles auf einmal.. Und speziell bei den Plugins und im Kern tut sich derzeit sauviel, also stell wirklich sicher, dass Du am besten nur mit dem Master Branch unterwegs bist! Wenn Du Dinge aus DEV nimmst kostet das meist mehr Aufwand, das hat der DEV so an sich :> Und wenn man dann noch mixt dann wirds schon arg :>
Naja gutes Gelingen schon mal.Zuletzt geändert von psilo; 27.09.2017, 13:59.
Einen Kommentar schreiben:
-
Hey psilo,
mir ist bewusst, dass es natürlich Probleme gibt, wenn man Funktionen testet, die eigentlich für die aktuelle Version gar nicht gedacht sind. Über diesen Spass beschwere ich mich auch nicht - das ist ja selbst geschaffenes Leid rein aus Experimentierfreudigkeit.
Ich jammere nur etwas wegen dem Spaß, weil ich folgendes festgestellt habe:
Wenn man, so wie ich, nicht viel Zeit für das Projekt hat und trotzdem immer relativ aktuell bleiben will, dann ist man gezwungen, trotzdem immer wieder regelmäßig zu schauen, was es neues gibt um dann ggfs. doch noch Anpassungen zu machen.
Als Beispiel nenne ich jetzt mal die Umstellung mit dem Images (.svg) - wo man sämtliche Seiten anpassen musste. Dann ist es so, dass man, wenn man Beispielsweise jetzt mal ein Problem hat (so wie ich zuletzt mit UZSU), dass man intensiv das Forum quälen muss, über etliche alte Beiträge stolpern muss, bis man irgendwann mal irgendwo einen kleinen Hinweis bekommt, dass sich dies und das geändert hat.
Versteh mich jetzt bitte nicht falsch - ich finde das Projekt hier wirklich absolut super, deswegen nutze ich es auch schon einige Jahre. Aktuell bin ich einfach nur etwas "maulig", weil ich lange nichts gemacht habe (bin letztes Jahr Papa geworden) und jetzt verzweifelt versuche, wieder alles zum funktionieren zu bringen (das ärgerliche ist einfach, dass ja alles mal funktioniert hat). UZSU hat mich einen ganzen Tag gekostet - jetzt habe ich noch das Simulationsplugin, welches mir seit Tagen Kummer macht.
Im Endeffekt ist es meine Schuld, weil ich lange nichts gemacht habe - würde ich das nicht wollen, dann müsste ich auf eine kommerzielle Version. Trotzdem nervt mich das gerade etwas (eigenltich bin ich auch nur genervt von mir selbst :-) )
Bezüglich der db.py - die habe ich mir einfach gezogen gehabt.
Ich persönlich mag git nicht so gerne - deswegen ziehe ich mir die Updates immer händisch (umsändlich, aber so mag ich es irgendwie lieber und ich sehe auch immer gleich ein wenig, was sich so verändert hat).
FAZIT: Ihr alle macht eine wirklich gute Arbeit und ohne euch, ist ein armer User wie ich wirklich aufgeschmissen - ich muss einfach mehr am Ball bleiben
Liebe Grüße
Einen Kommentar schreiben:
-
BlackCrow achso noch eine Anmerkung: ich würde das Database Plugin NICHT mit SHNG 1.2 verwenden.. Das haben wir nie getestet und ich zweifle an, dass es nicht doch Probleme gibt.. Auf die Art kann man sich auch selber Problemchen generieren - da braucht man sich dann nicht über den Spass zu beschweren
Mich wundert wie das überhaupt gehen kann, da der 1.2 doch das hier fehlen müsste? https://github.com/smarthomeNG/smart...ster/lib/db.py
Einen Kommentar schreiben:
-
Ich hab es jetzt einfach mal mit dem Holzhammer getestet und die mySQL runtergefahren - dann werden sofort keine Plots mehr angezeigt.
Es funktioniert also und hatte tatsächlich etwas mit meinen zweifelhaften Versuchen zu tun.
Zumindest habe ich das Prinzip jetzt etwas besser verstanden - ich danke Dir psilo.
Dann kann ich mich jetzt ja mit meinen anderen Problemchen beschäftigen - aktuell macht es wirklich keinen Spaß.
Viele Grüße
Einen Kommentar schreiben:
-
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..
Code:MariaDB [(none)]> use smarthome Database changed MariaDB [smarthome]> show tables -> ; +---------------------+ | Tables_in_smarthome | +---------------------+ | database_version | | item | | log | +---------------------+ 3 rows in set (0.00 sec) MariaDB [smarthome]> describe log; +----------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+------------+------+-----+---------+-------+ | time | bigint(20) | YES | | NULL | | | item_id | int(11) | YES | MUL | NULL | | | duration | bigint(20) | YES | | NULL | | | val_str | text | YES | | NULL | | | val_num | double | YES | | NULL | | | val_bool | tinyint(1) | YES | | NULL | | | changed | bigint(20) | YES | | NULL | | +----------+------------+------+-----+---------+-------+ 7 rows in set (0.00 sec) MariaDB [smarthome]> describe item; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | id | int(11) | YES | UNI | NULL | | | name | varchar(255) | YES | MUL | NULL | | | time | bigint(20) | YES | | NULL | | | val_str | text | YES | | NULL | | | val_num | double | YES | | NULL | | | val_bool | tinyint(1) | YES | | NULL | | | changed | bigint(20) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+ 7 rows in set (0.00 sec)Zuletzt geändert von psilo; 27.09.2017, 11:49.
- Likes 1
Einen Kommentar schreiben:
-
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?:
Wenn Du das meinst, dann habe ich das ja rausgenommen (#)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
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?
Einen Kommentar schreiben:


Einen Kommentar schreiben: