Hauptmenü

userReadings für Dummys

Begonnen von Spartacus, 16 Dezember 2014, 23:15:24

Vorheriges Thema - Nächstes Thema

Spartacus

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
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

JensS

Hallo Christian,

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

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

igami

Dein Userreading hat keinen Namen
[auote author=commandref]
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
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

Spartacus

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
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Bennemannc

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
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

m2th3o

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

Spartacus

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
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Loredo

Hab es hierzu eine Lösung?
userReadings scheinen bei Dummy Devices generell nicht erzeugt zu werden.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Hans Franz

Hallo,

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

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Benni

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.

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Loredo

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. :-)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER