Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

Quantum

Vielen Dank für die schnelle Antwort,

leider hat sich das Verhalten durch diese Version nicht geändert.

Viele Grüße

justme1968

bei  %ICON[%CMD] bedeuten die eckigen klammern das der teil optional ist. wenn du das verwendest dann ohne die klammern.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Quantum

Vielen Dank!

hab die Zeile wie Folgt geändert:

Zitat
http_TVProgramm:<%DasErste%set kodi_Fernseher openchannelid 1>,DasErste,DasErste_Nexttime,DasErste_Next

Jetzt stürzt er zumindest nicht mehr ab. Aber er listet jetzt sämtliche readings des Devices kodi_Fernseher in der readingsGroup auf.
Macht also auch nicht das richtige.

Viele Grüße

Depechem

Hallo,
ich möchte mir gern Infos aus einem Filelog in FHEM anzeigen lassen. Daher bin ich hier auf readingsGroup gekommen.
Ich weis aber nicht ob dies umgesetzt werden kann, daher Frage ich hier ob das überhaupt funktioniert.
im Filelog steht folgendes:

2017-10-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 363.5
2017-11-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 333.5
2017-12-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 370.5
2018-01-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 380.5
2018-02-01_00:00:19 CN.Gasverbrauch appCountsPerMonth: 373.5


Ich möchte es so in etwa angezeigt bekommen:

GASVERBRAUCH MONAT
Oktober 2017 - 363.5m³
November 2017 - 333.5m³
Dezember 2017- 370.5m³
Januar 2018 - 380.5m³
Februar 2018 - 373.5m³


Geht dies überhaupt?
zur Not könnte statt den Monaten auch der Zeitstempel stehen.
Die readingsGroup(Tabelle) müsste dann monatlich automatisch erweitert werden, sobald neue Daten in den Logfile kommen.

LG Thomas

RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

mele

Guten Morgen,

ich würde gern bei allen Geräten einer readingsGroup ein Kommando auslösen.

Leider komme ich mit der Suche/Wiki zu FILTER und devspec2array nicht weiter.

Kann mich jemand unterstützen?

Idee wäre folgende:

attr <Filter_der_Readingsgroupgeräte> archivedir xyz

Alternativ gerne alle Geräte, die das Attribut archivedir (leider mit unterschiedlichen Werten) verwenden.

Vielen Dank vorab,

Manuel
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

clumsy

Versuch mal sowas wie

define <NAME> readingsGroup .*:FILTER=archivedir=.*

Wobei du evtl. die RegEx am Ende noch anpassen musst jenachdem was da genau gematched werden soll...

mele

Erstmal danke für die Antwort.

Ich möchte das Attribut archivedir auf alle Devices der ReadingsGroup anwenden. Dein Code verändert m.E.n. nur die ReadingsGroup.

FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

clumsy

Sorry, dann hab ich das falsch verstanden ;)

Aber die <DEVSPEC> sollte genau gleich auch beim attr kommando funktionieren. also sowas wie
attr .*:FILTER=archivedir=.* archivedir=<WERT>
resp. bei der devicespec einfach die gleiche nehmen wie bei der readingsgroup definition... ansonsten muss jemand anders weiterhelfen ;)

mele

Ich habe es jetzt manuell gemacht.

Problem liegt bei Deinem Vorschlag darin, dass bei
list .*:FILTER=archivedir=.*
alle Geräte gezeigt werden, auch, wenn das attribut nicht gesetzt ist.

Lustigerweise klappt damit aber die Bildung einer korrekten ReadingsGroup.

Vielen Dank trotzdem.
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

OdfFhem

Folgendes Kommando sollte nur die Geräte auflisten, die archivedir gesetzt haben ...

list .*:FILTER=archivedir!=


mele

list .*:FILTER=archivedir!=

Klappt, danke!
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

Kai-Alfonso

Hi,

ich hoffe ich nerv nicht, aber ich würde gerne wissen, ob Perl Code in dem Attribut commands geht und wie der eingebunden wird. Ich hab schon mehrere Sachen und Aussagen gefunden (geht nicht, muss URL Encodiert werden etc), aber die Aussagen scheinen (?) obsolet?

Ich würd gerne folgendes machen:

{'battery.low' => 'setreading %DEVICE Batteriewechsel {my $date = strftime '%d.%m.%Y', localtime;;return $date;;}'}

also per setreading ein Reading mit dem aktuellen Datum setzen, welches ich mit Perl berechne.

Ich bin mir aber nicht sicher, ob die Anführungszeichen/Hochkommata richtig gesetzt worden sind.

jedenfalls kommt dann ein Fehler:

Global symbol "%m" requires explicit package name at (eval 1496823) line 2.
Global symbol "%Y" requires explicit package name at (eval 1496823) line 2.
syntax error at (eval 1496823) line 3, near "%Y', localtime;;return $date;;}
'"
syntax error at (eval 1496823) line 3, near "}}"


Wenn ich {my $date = strftime '%d.%m.%Y', localtime;;return $date;;} in der Kommandozeile einfüge, kommt das erwartete Ergebnis raus.

Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

DeeSPe

#1752
Zitat von: Kai-Alfonso am 07 März 2019, 13:32:21
Hi,

ich hoffe ich nerv nicht, aber ich würde gerne wissen, ob Perl Code in dem Attribut commands geht und wie der eingebunden wird. Ich hab schon mehrere Sachen und Aussagen gefunden (geht nicht, muss URL Encodiert werden etc), aber die Aussagen scheinen (?) obsolet?

Ich würd gerne folgendes machen:

{'battery.low' => 'setreading %DEVICE Batteriewechsel {my $date = strftime '%d.%m.%Y', localtime;;return $date;;}'}

also per setreading ein Reading mit dem aktuellen Datum setzen, welches ich mit Perl berechne.

Ich bin mir aber nicht sicher, ob die Anführungszeichen/Hochkommata richtig gesetzt worden sind.

jedenfalls kommt dann ein Fehler:

Global symbol "%m" requires explicit package name at (eval 1496823) line 2.
Global symbol "%Y" requires explicit package name at (eval 1496823) line 2.
syntax error at (eval 1496823) line 3, near "%Y', localtime;;return $date;;}
'"
syntax error at (eval 1496823) line 3, near "}}"


Wenn ich {my $date = strftime '%d.%m.%Y', localtime;;return $date;;} in der Kommandozeile einfüge, kommt das erwartete Ergebnis raus.

Probier mal:
{'battery.low' => 'setreading %DEVICE Batteriewechsel {strftime "%d.%m.%Y", localtime}'}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Kai-Alfonso

Zitat von: DeeSPe am 07 März 2019, 13:37:37
Probier mal:
{'battery.low' => 'setreading %DEVICE Batteriewechsel {strftime "%d.%m.%Y", localtime}'}

Gruß
Dan


Hi Dan,

zumindest kann ich das Attribut setzen, allerdings kommt beim klick auf das Icon dann folgendes

fhem?room=HomeMatic line 208:
Uncaught SyntaxError: Invalid or unexpected token
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Kai-Alfonso

Hat vielleicht jemand noch eine Idee? :o
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)