neue Features: ereignisgesteuertes Perl - DOIF-Perl

Begonnen von Damian, 25 Februar 2018, 21:29:16

Vorheriges Thema - Nächstes Thema

RalfRog

Zitat von: Damian am 09 Juli 2023, 16:22:39War vermutlich damals in der WIKI-Liste der FHEM-Funktionen, wo ich nachgeschaut habe, nicht drin. Die Funktion kann ich aber beim nächsten Update aufnehmen.

::OldReadingsAge  funktioniert  :D
Eilt nicht spiele ein wenig rum. War mit nur aufgefallen und es wäre konsistent. Irgendwo las ich auch was von Performance.


Aber danke für die Ergänzung beim nächsten Update.

Schönen Restsonntag Ralf
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

Damian

Neue Version mit OldReadingsAge im DOIF-Package wurde eingecheckt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

RalfRog

Klappt und keine spontanen Nebenwirkungen.
Danke und Gruß Ralf
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

M.Piet

Zitat von: Damian am 09 Februar 2022, 18:09:27Neue Version wurde eingecheckt.

[...]
Damit kann man Tages-, Monats- oder Jahres-Verbräuche loggen oder in card darstellen, siehe Anhang:


Moin. :)
Eigentlich ist das genau das, was ich brauche. Mein Shelly liefert mir unter shellyplusplugs_e465b8b8a470:params_switch_0_apower den aktuellen Momentanverbrauch in Watt.

Mit deiner Lösung könnte ich, wenn ich es richtig verstanden habe, mir recht einfach die Tages-, Monats- oder Jahres-Verbräuche erzeugen lassen.

Ich habe mich nun eingelesen, den Wiki EIntrag angeschaut, diverse Postings.

Ich verstehe 2 Grundlegende Sachen nicht und stehe total auf dem Schlauch,

1) An welcher Stelle gebe ich mein Device/Reading shellyplusplugs_e465b8b8a470:params_switch_0_apower an?
2) Muss ich diesen Code in irgendeine Datei schreiben? Ich kann ja nicht direkt in Fhem diesen Eintrag absetzten, um diesen DOIF einzurichten:
defmod di_counter DOIF DEF TPL_stat (midnight_$1_$2 { [00:01];;\
Ich würde mich freuen, wenn ich einen kleinen Denkanstoß bekommen könnte. Vielen Dank.

Damian

Nimm einfach das hier: https://forum.fhem.de/index.php?topic=140088.msg1327855#msg1327855

Dort brauchst du nur das Device und das Reading anzugeben.

Die Visualisierung kannst du auch vornehmen oder auch weglassen und nur die Werte loggen oder sonst was mit diesen machen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

M.Piet

Ich danke dir für deine Hilfe. Es geht mir nur um die Werte. Die Visualisierung mach ich in FTUI3.
Ich scheitere aber an was ganz banalem.

defmod di_counter_new DOIF subs {\Ergibt bei mir
di_counter_new DOIF: Perlblck: no right bracket: {\
Das ist mein Problem. ;) Ich stehe da auf dem Schlauch.

Damian

Da musst du schon den ganzen Code hier posten. Das Attribut uiTable musst du nicht übernehmen, wenn du keine Visualisierung brauchst - das habe ich aber schon gesagt.

Und der Code funktioniert mit Readings, die nicht den momentanen Verbrauch liefern, sondern die verbrauchte Energie hochzählen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

M.Piet

Ein Reading, welches den Verbrauch hochzählt, habe ich.

Ich fürchte, wir reden sowas von aneinander vorbei. :)

Ich habe den Code aus deinem Beispiel genommen: https://forum.fhem.de/index.php?topic=140088.msg1327855#msg1327855

Ich muss doch, wenn ich es richtig verstanden habe, einen DOIF anlegen.
Und da bekomme ich schon die Fehlermeldung. Darum komme ich gar nicht weiter (siehe Screenshot).

Aber ich vermute, dass mein Einstieg völlig falsch ist und dass ich irgendwas grundlegendes anderes machen muss.
Mir ist irgendwie schon klar, dass die erste Zeile "defmod di_counter_new DOIF subs {\" nicht das ist, was ich denke (also ein Befehl um diesen DOIF anzulegen. Aber ich weiß leider nichts mit dem Code anzufangen, bzw. wo und wie ich diesen nutze.

Ich danke dir auf jeden Fall für die Hilfe. :)

Damian

Den ganzen Code mit vielen Zeilen kannst du nicht über die Eingabezeile einfügen. Das machst du über das Pluszeichen vor der Eingabezeile mit Bestätigung über den Execute-Knopf.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

M.Piet

#279
Jetzt habe ich es! Im Dark Mode gibt es das Pluszeichen gar nicht, ich konnte es also gar nicht finden (siehe Screenshot). Style umgestellt, eingefügt. Klappt. Ich schaue nun, ob die Zahlen sich plausibel entwickeln. :)
Vielen vielen Dank!

edit: nun sehen ich endlich auch Statistiken vom Balkonkraftwerk! Vielen dank noch mal für die Hilfe.