Zitat von: Starkstrombastler am 27 März 2024, 22:09:43Der CSFR-Token muss halt bei jedem Neustart von FHEM aktualisiert werden. Das ist in der aktuellen Modulversion aber noch nicht so schön gelöst (zyklische Prüfung). Passwort sollte gehen, muss aber manuell eingetragen werden.OK, ich hab nun mal ein neues FHEMWEB und allow ohne Https, Passwort und CSFR angelegt.
HTTPS derzeit vom Modul nicht unterstützt.
Zitat von: Starkstrombastler am 27 März 2024, 22:09:43In der aktuellen Modulversion wird die Action gelöscht, wenn du das Attr webhook entfernst.Ich hab sie nun manuel bearbeitet, bisher wurde von fhem noch nichts überschrieben.
Das automatische Update der Webhooks beschränkt sich auf Portnummer und CSFR-Token und das auch nur, wenn der Name der Action mit _Unterstrich_ anfängt und aufhört.
Zitat von: Starkstrombastler am 27 März 2024, 22:09:43Das ist davon abhängig, was der Shelly bereitstellt. Du kannst natürlich auch eine Action mit dem Sensorwert an FHEM adressieren. Sollte ohnehin automatisch angelegt worden sein. Du kannst auch mit set <name> interval 10 das Interval mit dem Einschalten der Pumpe verringern und dann wieder mit set <name> interval -1 auf den Originalwert zurückgehen.Naja viele der Werte thes Shelly sind schon in kürzeren Zeiten, oder noch besser bei Änderungen relevant. Mit den Werten die einen Hook haben klappt das jetzt auch gut. Andere wie z.B. Strom oder Leistung muss ich weiterhin Pollen. Dafür nehm ich jetzt 60 Sekunden.
Zitat von: Starkstrombastler am 27 März 2024, 22:09:43Wenn der Shelly via Action/Webhook einen Befehl an das Modul sendet (z.B. Ausgang ist EIN), wird dieser Befehl sofort verarbeitet und mit einer Sekunde Verzögerung eine Anfrage get <shelly> status gestartet. So werden alle Status-Werte*) abgeholt und die Power-Readings sind aktuell (der Shelly misst im Sekundentakt). Du kannst dann auch am Reading source erkennen, wodurch der Schaltvorgang ausgelöst wurde. Eine Action beispielsweise auf den Tastereingang am Shelly wird deswegen nicht benötigt und sollte im Sinne geringerer Systemlasten nicht aktiviert sein.Warum sollte denn nur der erste Wert nach einer Sekunde relevant sein. Das wäre dann z.B. der Anlaufstrom, wenn aber der Strom im Betrieb sinkt wäre das auch interessant.
Zitat von: Starkstrombastler am 27 März 2024, 22:09:43*) wieso die Temperatur nur alle 4 Minuten kommt muss ich mir anschauen.Jetzt klappts super, auch wenn mir das anlegen des FHEMWEB und des allow doch etwas Zeit gekostet hat, da ich durch ein fehlendes "global" im FHEMWEB nichts vom Shelly bekommen hab.
Jetzt bin ich mal gespannt, wie gut das Ganze funzt.
Zitat von: Prof. Dr. Peter Henning am 28 März 2024, 04:25:24@HadlWenn ich die Pumpe einschalte, steigt nach 1-3 Minuten die Temperatur am Rücklauf doch ziemlich schnell an, selbst in 10 Sekunden tut sich da einiges.
Das ist ziemlich sinnlos, weil sich die Temperaturen auch bei einer Zirkulationsleitung nicht so schnell ändern.
Zitat von: Prof. Dr. Peter Henning am 28 März 2024, 04:25:24Den Begriff "Signale" kennen wir in FHEM nicht. Es ist außerdem sonnenklar, dass eine Vielzahl von Shelly-Devices die FHEM-Hauptschleife ganz schön ausbremsen können - aus dem Grund schlägt Starkstrombastler ja vor, die Regelung der Zirkulationspumpe unabhängig von dieser Hauptschleife zu machen. Bei mir ist das seit inzwischen mehr als 10 Jahren durch ein drahtgebundenes System realisiert. Dessen Latenz und Belastung der FHEM-Hauptschleife sind so gering, dass die Regelung und Messung problemlos in FHEM gemacht werden können, siehe hier: https://wiki.fhem.de/wiki/1W-WPump.Ja, ich hab vor soviel es geht den Shelly intern machen zu lassen.
Zitat von: xenos1984 am 28 März 2024, 21:45:48Danke für die Vorschläge!
Statt des "zentralen DOIF" könnte ich doch auch ein DOIF_Readings anlegen, oder? Vorausgesetzt, in DOIF_Readings ließen sich auch Zeittrigger nutzen, und nicht nur Readings.
In dem Fall nutze ich tatsächlich den DOIF-FHEM Modus, weil das DOIF dann automatisch jederzeit einen bestimmten Status hat und nur bei Statuswechsel schaltet (kein do always). Alles auf Perl-Modus umzustellen wäre etwas aufwändiger, aber natürlich auch möglich.
DOIF {if ([start] and $md eq "0328") {set_Reading("mytime",1,1)} elsif ([end] and $md eq "0401") {set_Reading("mytime",0,1)}
{if ([mytrigger] and [?$SELF:mytime,0] == 1 or [$SELF:mytime,0] == 1) {...}}