Wofür bräuchte man über einen Reboot hinausgehende persistente Speicher?
Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - wiregated segfaulted laufend
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Für Plugins:
- letzter Sollwert eines Raumreglers
- Zählerstände, Betriebsstundenzähler (das wäre jetzt mein Anwendungsfall)
- Stati die übers WG gesendet werden und nicht über KNX wieder auslesbar sind
- letzte Ausführung von xyz
- Austausch von Daten zwischen Plugins (Weitergabe an Visu)
Das kann man letztlich mit $plugin_info($plugname,'_meinIKO') alles speichern aber wenn sich die plugin.db verabschiedet ist das auch alles weg.
Ausserdem sieht iko_read(RT_soll_Kind) besser aus und man muss sich nicht den Namen des Plugins merken aus dem der Wert kommt.
Anwendungsfall:
Die Zählerstände kommen vom Bus, jetzt müsste ich mir irgendwohin den Tageswert schreiben und am nächsten Tag wieder aufrufen um eine Differenz zu bilden. Diese könnte ich mir aber ganz einfach in ein iko schreiben und nächsten Tag wieder auslesen...bei einem Tag ganz unproblematisch, bei einer Woche oder einem Monat schon schwieriger.Umgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Zitat von JuMi2006 Beitrag anzeigenDas kann man letztlich mit $plugin_info($plugname,'_meinIKO') alles speichern aber wenn sich die plugin.db verabschiedet ist das auch alles weg.
Ausserdem sieht iko_read(RT_soll_Kind) besser aus und man muss sich nicht den Namen des Plugins merken aus dem der Wert kommt.
BTW, auch hinter der von Dir vorgeschlagenen Funktion iko_read/write müsste irgendeine Form der Datenablage (aka Datenbank) liegen. Wenn sich die verabschiedet sind die Daten wieder weg. Ich verstehe also nicht, warum eine neue Funktion die Datensicherheit vergrößern sollte.
Schöne Grüße
Christian
ps: Ist ein Fehler in plugin.db eigentlich ein häufigeres Problem oder eher ein Einzelfall (vgl. aktueller Thread)?
Kommentar
-
Vl. nimmt man da mal wirklich ne SQLite und baut ne WG API drum rum, so dass jedes Plugin einfach speichern kann, was es will.
Die ganzen Messwerte bekomme ich derzeit aus den RRDsAuch nur eine Datenbank.
Statuus die das WG sendet, aber nicht abfragbar sind, sollten ja zumindest regelmässig gesendet werden, oder?
Und WG und Visu würde ich nicht so arg verknüpfen. Das muss ja nicht mal auf der gleichen Kiste laufen. Derzeit schon mit den RRDs problematisch.Derzeit zwischen Kistenauspacken und Garten anlegen.
Baublog im Profil.
Kommentar
-
@greentux:
Womit holst Du die Daten aus dem RRD, da fehlt mir noch ein Beispiel. Kannst Du das evtl. mal zeigen?
Zum plugin_info:
Das räume ich ab und zu mal auf ... wenn man ein neues Plugin testet hat es u.U. noch einen anderen Namen und andere Werte ... will man sich dann durch die "Debug-Tabelle" quälen wird es eklig. Bei derzeit knapp 20 Plugins sucht (scrollt) man sich den Wolf.
Gernerell fände ich es besser wenn Laufzeitabhängige Variablen (_cylce,_last) die der Daemon benutzt nicht in einer Datenbank mit "privaten" Variablen abgelegt werden. Der Umstieg auf eine mySQL wäre daher begrüssenswert. Im Daemon wären das geschätzt nicht mehr als 20 Zeilen Code für eine Trennung.
Wenn sich die DB verabschiedet ist eh essig, das ist klar. Generell ist das natürlich alles jetzt schon möglich. Ein iko_write/read würde aber Plugins übersichtlicher machen. Dass es bei plugin_info keines Namens bedarf wusste ich nicht.
GrußUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Zitat von JuMi2006 Beitrag anzeigen@greentux:
Womit holst Du die Daten aus dem RRD, da fehlt mir noch ein Beispiel. Kannst Du das evtl. mal zeigen?
Der Umstieg auf eine mySQL
Im Daemon wären das geschätzt nicht mehr als 20 Zeilen Code für eine Trennung.
Kommentar
-
Zitat von chriss1980 Beitrag anzeigenich hoffe, Du meinst SQLite
Zitat von chriss1980 Beitrag anzeigenWarum nicht einen Patch entwickeln? Bei Elabnet besteht ja durchaus die Bereitschaft, Weiterentwicklungen in das Produkt aufzunehmen
Bislang komme ich auch ohne zurecht, würde aber einiges leichter machen...
GrußUmgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Zitat von chriss1980 Beitrag anzeigenps: Ist ein Fehler in plugin.db eigentlich ein häufigeres Problem oder eher ein Einzelfall (vgl. aktueller Thread)?
Aber für den Betreffenden dann durchaus lästig und wir wollen das schon gerne lösen.
lg
Stefan
Kommentar
-
Und wenn Du richtig Angst um die DB hast, sollte sich die doch per Cron oder Plugin mit langer Cycle-Time wegsichern lassen...
Ich halte es aber für sinnvoller die Plugins so zu schreiben, dass die sich sinnvoll selbst initialisieren.
Klar ist's doof wenn nach einem Desaster-Fall alle Soll-Raumtemperaturen weg sind - aber wenn die sich dann mit 21°C initialisieren, ist der entstandene Schaden sehr überblickbar.
Kommentar
-
Auftreten tut das ja auch erst, seitdem die Plugins wie wild dort Daten sichern. Früher (tm) war ein Plugin noch ein Plugin
Ich bin da ganz bei Chris. Man solle sich nicht so abhängig machen...Derzeit zwischen Kistenauspacken und Garten anlegen.
Baublog im Profil.
Kommentar
-
Zitat von JuMi2006 Beitrag anzeigenFeaturewunsch:
Eine persistent-Datenbak. Etwas wohin mal Variablen aus Plugins schreiben kann ohne dass sie verloren gehen.
Dass der Plugin-Name vorgestellt wird ist nur eine Empfehlung, wahrscheinlich um Kollisionen zwischen verschiedenen Plugins zu vermeiden.
MakkiEIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
-> Bitte KEINE PNs!
Kommentar
-
Hmm, das braucht jetzt aber Überzeugungsarbeit:
Warum sollte es zwei Datenbanken geben, die exakt dasselbe tun?
Ich kann mir einen "Wrapper" für $plugin_info vorstellen (die Idee ist schon älter) - ansonsten: hey es ist 100% offen&echt, man kann sich auch jetzt schon seine eigene sqlite-db pro Plugin anlegen (nicht das es sonders effizient wäre - aber möglich.. siehe RSSlog)
Edit: der Unterschied ist: die eigene DB kann ich mitm nächsten Update nicht automagic reparieren
MakkiEIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
-> Bitte KEINE PNs!
Kommentar
Kommentar