jonofe Danke, werd' ich mal testen, über PHPMailer bin ich bei der Suche schon gestolpert, wollte aber ohne additive Installationen auskommen. Aber warum das Rad neu erfinden...
Ankündigung
Einklappen
Keine Ankündigung bisher.
EDOMI-Releases/Updates | Aktuell: Version 2.03
Einklappen
Dieses Thema ist geschlossen.
X
Das ist ein wichtiges Thema.
X
X
-
@Christian: Frage zum guten LBS-Stil: In der online-Hilfe steht für setState bei $Intervall, dass der default false ist, also nur einmalig ausgeführt wird. Im Timer-Beispiel nutzt Du setState ohne die beiden optionalen Parameter $Delay und $Intervall und der wird doch durchaus nicht nur einmal ausgeführt, oder? Heißt das, dass der default zu $Intervall doch true ist, nicht false oder wirkt das, anders, wenn man auch $Delay weg lässt oder habe ich das Prinzip von statefull noch nicht ganz durchdrungen?
Und da wir gerade dabei sind: Es ist vermutlich sauberer/ressourcen-schonender $Delay zu setzen, als usleep zu verwenden, richtig?
Und eine Frage zu den Variablen: Wie lange leben die Werte darin? Bei statefull bis der state auf null gesetzt wird? Und wenn der LBS nicht statefull läuft, vermutlich nur bis zum Ende des einmaligen Lauf? Oder habe ich die Werte auch selbst bei einem stateless-LBS beim nächsten Triggern auch wieder? Oder habe ich das Ganze in der Hilfe überlesen?
Danke und viele Grüße,
CarstenZuletzt geändert von saegefisch; 19.10.2016, 00:07.
Kommentar
-
ich hätte einen Feature Wunsch
Wäre es möglich ein Diagramm für online Trends zu erstellen?
Also ein Diagramm, dem man einfach ein KO und ein Zeitintervall übergibt und dieses dann mitloggt - ohne dem Umweg über eine extra Logik und ein Archiv.
Hintergedanke ist, dass man öfters in der Inbetriebnahme (z.B. Wetterstation) einmal ein Gefühl für die Messwerte bekommen muss um dann Grenzwerte zu setzen.
Hier will man gar nicht in eine Datenbank die Werte aufzeichnen bzw. behalten - hier würde ein "online Trend" ausreichen.
Kommentar
-
Das Timer-Beispiel(!) (nicht der LBS "Timer" 16000110) ist bewusst nicht optimiert in Sachen Performance, um die grundsätzliche Funktionsweise zu beschreiben. Schau' Dir mal den Timer-LBS an, dort wird $delay genutzt - dies spart natürlich reichlich Ressourcen, da der LBS dann nicht im MS-Takt aufgerufen wird, sondern erst wenn die Zeit abgelaufen ist.
usleep() etc. haben im LBS-Abschnitt nichts zu suchen! Denn das würde die gesamte Logik-Engine für die entsprechende Dauer lahmlegen. Im EXEC-Teil hingegen ist's egal.
Die LBS-Variablen (V#...) leben solange, bis EDOMI beendet/neugestartet wird (Datenbank). PHP-Variablen im LBS-Teil sind nur während des Funktionsaufrufs gültig.EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)
Kommentar
-
eriche
Du kannst doch fix ein Datenarchiv anlegen, eine Minimal-Logik (Ausgangsbox) erstellen und ein Diagramm konfigurieren - dürfte in 1 Minute erledigt seinUnd wenn Du fertig bist mit den Testmessungen, kannst Du einfach alles wieder löschen (oder ggf. modifizieren).
Ohne "Umweg" über ein Datenarchiv etc. wird's schwierig bzw. "merkwürdig", denn irgendwo müssen die Daten ja zwischengespeichert werden...EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)
Kommentar
-
Keine Sorge, da wird nichts zugemülltLöschen bedeutet hier tatsächlich Löschen - anders als bei Facebook & Co...
EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)
Kommentar
-
Zitat von gaert Beitrag anzeigenDas Timer-Beispiel(!) (nicht der LBS "Timer" 16000110) ist bewusst nicht optimiert in Sachen Performance, um die grundsätzliche Funktionsweise zu beschreiben. Schau' Dir mal den Timer-LBS an, dort wird $delay genutzt - dies spart natürlich reichlich Ressourcen, da der LBS dann nicht im MS-Takt aufgerufen wird, sondern erst wenn die Zeit abgelaufen ist.
usleep() etc. haben im LBS-Abschnitt nichts zu suchen! Denn das würde die gesamte Logik-Engine für die entsprechende Dauer lahmlegen. Im EXEC-Teil hingegen ist's egal.
Die LBS-Variablen (V#...) leben solange, bis EDOMI beendet/neugestartet wird (Datenbank). PHP-Variablen im LBS-Teil sind nur während des Funktionsaufrufs gültig.Dann habe ich letzte Nacht meine neuen LBS für die Heizungsregelung in die richtige Richtung entwickelt. Das war auch mein Eindruck, denn mit Verwendung nur von $Delay und keiner aktiven Visu bleibe ich meist wieder zwischen 0,8% und <2% CPU. Mit usleep ging's dagegen hoch.
Die Info zur V#-Variablen ist sehr hilfreich. Habe ich den in der Hilfe überlesen oder lohnt das, bei Gelegenheit aufgenommen zu werden? Vielleicht gleiches zu Delay und usleep. Es gab vor ein paar Tagen ja mal eine Frage zur code-hygiene. Das muss die Community (und die CPU-Anzeige...) lösen, aber ein kurzer Hinweis, dass usleep gut und richtig ist, aber NUR im EXEC-Teil und eben sonst - am besten immer bei statefull - ein überlegtes Delay verwendet werden sollte. Da machen PHP-Neulinge - wie ich - weniger Unfug...
Kommentar
-
Schonmal eine kleine Ankündigung:
Demnächst wird's einen weiteren "Admin-Account" geben - dieser dient dann zum parallelen Einloggen in die Statusseite (und nur diese). Somit kann man z.B. im Logikeditor Live-Werte verändern und zugleich auf der Statusseite entsprechend verfolgen (Widgets).
Technisch wäre es zwar einfacher auch die Adminseite für den zweiten Account verfügbar zu machen, allerdings ist EDOMI dafür nicht ausgelegt (z.B. darf die Projektaktivierung nicht mehrfach zur gleichen Zeit angestoßen werden, etc.). Daher ist dies m.E. ein ganz guter KompromissEDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)
Kommentar
-
saegefisch
In der Hilfe (LBS-Quelltext) ist's durchaus erwähnt, wenn auch etwas unauffällig im ersten Abschnitt versteckt (werde ich bei Gelegenheit ohnehin mal überarbeiten):
Variablen beziehen sich auf genau eine LBS-Instanz, d.h. mehrere LBS gleichen Typs beeinflussen sich nicht hinsichtlich deren Variablen. Die Variablen halten einen Wert solange, bis EDOMI beendet bzw. neu gestartet wird. Variablen und Initialwerte vom Typ String werden genau wie Zahlen ohne(!) Anführungszeichen deklariert (Zeichenketten und Zahlen werden intern nicht unterschieden).EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)
Kommentar
-
Zitat von saegefisch Beitrag anzeigenDanke Christian für die Aussicht auf den 2. Widget-Account. Das wird sicher vielen viel helfen. Mir auf jeden Fall...
Kommentar
-
Zitat von steffen79 Beitrag anzeigen
Hat noch jmd das Problem?
Kommentar
Kommentar