Hauptmenü

Reading verändern

Begonnen von Cybers, 28 April 2015, 18:19:11

Vorheriges Thema - Nächstes Thema

Cybers

Danke für deine Mühe. Mit der letzten Version klappt es jetzt. Ich habe nur eine kleine Änderung vorgenommen damit kein neues Reading erstellt wird, sondern das bestehende Reading im Wert geändert wird (der rote Teil. Da stand vorher nur "location"):
attr AlleKalender userReadings [color=red]t_001_location[/color]:t_001_location {ReadingsVal($name,"t_001_location",0)=~/^Eichenhainallee/?"Home":ReadingsVal($name,"t_001_location",0)}

Muß ich jetzt für alle zwanzig (t_001_location, ..., t_020_location) dieses Attribut setzen oder geht das auch einfacher?

Gruß, Sascha
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

marvin78

Wenn du das nicht machen möchtest, dann kannst du auf ein notify (statt userReading) gehen und wie das geht, habe ich oben schon gepostet. Ich würde es dann nur wie folgt abändern:

define NOTIFYNAME notify AlleKalender.*t_[0-9]{3}_location {setLocation($NAME,$EVTPART0)}

Und die sub dann auch auf Prüfung eines Regex umstellen
sub setLocation($$) {
  my ($dev,$reading)  = @_;
  my $val=ReadingsVal($dev,$reading,0);
  fhem("setreading $dev $reading Home") if ($val =~ /^Eichenhainallee/ );
}

Cybers

ich kann für ein Device nur einmal das Attribut userReadings nutzen, wenn ich es mehrmals in meine CFG schreibe wird nur das letzte angewendet.
Demnach bleibt mir nur die Möglichkeit mit dem NOTIFY. Leider funktioniert dein letzter Code nicht.

Gruß, Sascha
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

marvin78

Das Attribut userReading gibt es auch nur einmal. Hast du wenigstens einmal die commandref zu den Dingen gelesen, die du verwendest? Das setzt ich schon voraus! Mehrere userReadings werden getrennt durch Komma (,) eingetragen.

Und wenn mein Code nicht funktioniert, kann das sein. Ich kann aber nicht helfen, wenn ich nicht weiß, was nicht funktioniert. Hilfreich wäre eine Fehlermeldung, Log etc.

Wie sieht das Event von AlleKalender wirklich aus (Event Monitor). Ein wenig helfen musst du schon...

Cybers

#19
nachdem das Ganze lange Zeit gelaufen ist (Danke an marvin78), wurde das Reading nach irgendeinem Update nicht mehr geändert.

So habe ich das UserReading aktuell:
attr AlleKalender userReadings t_001_location:t_001_location.* {ReadingsVal($name,"t_001_location",0)=~/^Dornfelder/?"Home":ReadingsVal($name,"t_001_location",0)}

Wie schon anfangs geschrieben, das Reading sieht im Original so aus: "Dornfelder Straße, Dornfeld"
und statt der Straße, Ort soll nur "Home" im Reading stehen. Deshalb per Regex, sobald im Reading "Straße" steht auf "Home" ändern.

Irgendwie zum verzweifeln.

Gruß, Sascha
[/code]
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

igami

Wofür steht denn das ^ in der Regex?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

CoolTux

Zitat von: igami am 30 Juni 2017, 09:20:49
Wofür steht denn das ^ in der Regex?

String beginnt mit
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

igami

Zitat von: CoolTux am 30 Juni 2017, 09:28:11
String beginnt mit
Das war doch eine Frage für Cybers ;)
Sei String beginnt doch mit Dornfelder
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

CoolTux

Hatte mich da schon gewundert wieso Du fragst. Aber man kann ja nie alles wissen, von daher.   ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Cybers

Sorry. Die "Beispielstraße" war dumm gewählt, habe es jetzt in meinem Code im Beitrag geändert. Was  das ^ bedeutet ist mir schon klar.
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Cybers

Hat keiner einen Rat für mich?
FHEM 6.3 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel