FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Spartacus am 16 Dezember 2014, 23:15:24

Titel: userReadings für Dummys
Beitrag von: Spartacus am 16 Dezember 2014, 23:15:24
Hallo,
Ich versuche krampfhaft in einem Dummy ein Reading einzubauen. Kriege es aber nicht hin:

attr Tageslicht userReadings {sunset("HORIZON=-6")}


Das Reading wird nicht angelegt. Ich möchte auf diese Weise SA un Su in einem Reading ablegen und Gleichzeitig den State vom Dummy auf hell bzw. dunkel andern.

Jemand eine Idee? Geht das überhaupt mit einem Dummy?
Christian
Titel: Antw:userReadings für Dummys
Beitrag von: JensS am 16 Dezember 2014, 23:24:47
Hallo Christian,

hast du es schon mal ohne geschweifte Klammern versucht? Ist wohl ein fhem-Befehl - nicht perl.

Gruß Jens
Titel: Antw:userReadings für Dummys
Beitrag von: igami am 17 Dezember 2014, 05:44:15
Dein Userreading hat keinen Namen
[auote author=commandref]
http://fhem.de/commandref#readingFnAttributes (http://fhem.de/commandref#readingFnAttributes)
userReadings
A comma-separated list of definitions of user-defined readings. Each definition has the form:

    <reading>[:<trigger>] [<modifier>] { <perl code> }

After a single or bulk readings update, the user-defined readings are set by evaluating the perl code { <perl code> } for all definitions and setting the value of the respective user-defined reading <reading> to the result. If <trigger> is given, then all processing for this specific user reading is only done if one of the just updated "reading: value" combinations matches <trigger>, which is treated as a regexp.
Zitat

Allerdings wird das Reading erzeugt, wenn sich ein reading des Dummy ändert, du möchtest es ja genau umgekehrt haben.

Grüße
Igami
Titel: Antw:userReadings für Dummys
Beitrag von: Spartacus am 17 Dezember 2014, 15:45:19
Hallo,
irgendwie bin ich zu blöd!
Weder mit,  noch ohne {} funktioniert es. Er legt auch nicht einmal das Reading an...
Internals:
   CFGFN      config/Dienste.cfg
   NAME       Tageslicht
   NR         59
   STATE      hell
   TYPE       dummy
   Readings:
     2014-12-17 15:41:34   state           hell
Attributes:
   room       98-Dummy
   userReadings Test sunrise("HORIZON=-6")


@igami:
das Userreading hat schon einen Namen. Habe diesen offenbar im obigen bsp. vergessen zu kopieren..

Christian
Titel: Antw:userReadings für Dummys
Beitrag von: Bennemannc am 17 Dezember 2014, 16:09:10
Hallo,

Ich habe das mal bei mir eingebaut (in eine reelles Gerät). Mit "Userreadings Test {sunrise("HORIZON=-6")} bekomme ich einen Wert. Dieser Wert wird aber erst angezeigt, wenn sich ein reeles Reading beim Gerät änder. Wenn Dein Dummy also On:Off kann, müsstest Du einmal schalten, um die Veränderung zu sehen. Eine Aktualisierung geschieht ebenfalls nur bei einer Veränderung.

Gruß Christoph
Titel: Antw:userReadings für Dummys
Beitrag von: m2th3o am 17 Dezember 2014, 20:25:21
Hallo,

hast du mal versucht, es nicht über die fhem.cfg, sondern über die Eingabe zu machen - wird glaub ich allgemein sowieso eher empfohlen:

setreading Dummy userreading value

Dann wirds richtig angelegt.

Gruß,
Markus
Titel: Antw:userReadings für Dummys
Beitrag von: Spartacus am 17 Dezember 2014, 21:00:51
Zitat von: m2th3o am 17 Dezember 2014, 20:25:21
Hallo,

hast du mal versucht, es nicht über die fhem.cfg, sondern über die Eingabe zu machen - wird glaub ich allgemein sowieso eher empfohlen:

setreading Dummy userreading value

Dann wirds richtig angelegt.

Gruß,
Markus
Hi,
nö! habe das als attribut gesetzt, mit setreading habe ich das noch nicht versucht! Bin jetzt auch verwirrt!
Wenn ich aber
setreading Tageslicht Untergang {sunset("HORIZON=-6")}
schreibt er "{sunset("HORIZON=-6")}" oder sunset("HORIZON=-6")"als Text hinein. Aber nicht den Wert

Christian
Titel: Antw:userReadings für Dummys
Beitrag von: Loredo am 02 Mai 2015, 01:28:50
Hab es hierzu eine Lösung?
userReadings scheinen bei Dummy Devices generell nicht erzeugt zu werden.
Titel: Antw:userReadings für Dummys
Beitrag von: Hans Franz am 02 Mai 2015, 03:08:25
Hallo,

Nach
{fhem("setreading Tageslicht Untergang ". sunset('HORIZON=-6'))}
steht bei mir im Reading 'Untergang' die Uhrzeit.

Gruß
Hans
Titel: Antw:userReadings für Dummys
Beitrag von: Benni am 02 Mai 2015, 07:39:42
Also bei mir funktionieren userReadings bei Dummy-Devices generell problemlos!

Wenn ich bspw. mit


attr devTimerDummy userReadings tst-horizon-6 {sunset('HORIZON=-6')}


ein userReading definiere, so wird dies auch erzeugt, aber natürlich erst, wenn der dummy dann auch mal geschaltet wird, bzw. mit set ein Wert zugewiesen wird.
Titel: Antw:userReadings für Dummys
Beitrag von: justme1968 am 02 Mai 2015, 09:32:50
natürlich funktionieren userReadings auch in dummys. aber weil sie grundsätzlich nur dann getriggert werden wenn sich ein anderes reading im gleichen device ändert sind sie in dummys oft nicht sinnvoll.

gruß
  andre
Titel: Antw:userReadings für Dummys
Beitrag von: Loredo am 02 Mai 2015, 12:08:31
Danke euch.


Mir ist klar, dass es einen Trigger für die Neuberechnung braucht, sprich man den Dummy verändern muss.


Ich konnte/wollte meinem Dummy zu dem Zeitpunkt keinen neuen Wert zuweisen und habe also den gleichen Wert nochmals gesetzt. Da ich kein event-on-* Attribut gesetzt habe und sich der Zeitstempel auch aktualisiert nahm ich natürlich an, dass dies als Trigger für die Neuberechnung ausreichend wäre. Dem ist wohl offenbar nicht so, es klappt nur, wenn ich ein anderes Value setze.


Aber immerhin, es tut. :-)