FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: MichlB am 28 Juni 2015, 16:47:59

Titel: Dummy wert aus Sensor zuweisen
Beitrag von: MichlB am 28 Juni 2015, 16:47:59
Hallo
ich bin scheinbar total unfähig, ich bekomms einfach nicht hin!

Hab erfolgreich mehrere MYSENSOR eingebunden und da habe ich unteranderem einen Sensor, wo 4 DHT11 dran hängen... soweit so gut...
jetzt wollte ich einem Dummy 2 der 8 Werte (je DHT ja temperature und humidity) zuzueisen...

mein MYSENSOR hat folgende definition:

define MYSENSOR_70 MYSENSORS_DEVICE 70
attr MYSENSOR_70 IODev SerialGate
attr MYSENSOR_70 alias Keller
attr MYSENSOR_70 mapReading_humidity 0 humidity
attr MYSENSOR_70 mapReading_humidity1 1 humidity
attr MYSENSOR_70 mapReading_humidity2 2 humidity
attr MYSENSOR_70 mapReading_humidity3 3 humidity
attr MYSENSOR_70 mapReading_temperature 0 temperature
attr MYSENSOR_70 mapReading_temperature1 1 temperature
attr MYSENSOR_70 mapReading_temperature2 2 temperature
attr MYSENSOR_70 mapReading_temperature3 3 temperature
attr MYSENSOR_70 mode repeater
attr MYSENSOR_70 room SensorNet
attr MYSENSOR_70 stateFormat temperature°C humidity% </BR> temperature1°C humidity1% </BR> temperature2°C humidity2% </BR> temperature3°C humidity3%
attr MYSENSOR_70 version 1.4.1


und ich wollte einen Dummy der für einen Raum steht und die entsprechenden werte hat:
define WaschKu dummy
attr WaschKu room SensorNet
attr WaschKu stateFormat temperature°C
attr WaschKu userReadings humidity { ReadingsVal("MYSENSOR_70","humidity",0);;;;} , temperature { ReadingsVal("MYSENSOR_70","temperature",0);;;;}


es funktioniert aber überhaupt nicht...

hat wer ideen??
danke
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: igami am 28 Juni 2015, 19:34:49
Hallo Michl1003!,

userreadings wird nur aktualisiert wenn sich ein reading im Device ändert, das passiert bei deinem Dummy aber nicht. Für das was du hast gibt es readingsProxy, habe ich selbst aber nicht im Einsatz.
http://fhem.de/commandref#readingsProxy (http://fhem.de/commandref#readingsProxy)

Grüße
igami
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: MichlB am 28 Juni 2015, 20:16:23
hallo igami

cool, genau so was hab ich mir vorgestellt, aber kann ich hier auch mehrere Werte auslesen?
denn die dht geben ja "temperature" und "humidity" aus.. und jetzt hätt ich natürlich gerne beide werte in dem Proxyreading...

habs mit
define WaKuTemp readingsProxy MYSENSOR_70:temperature,humidity
define WaKuTemp readingsProxy {(MYSENSORS_70:temperature),(MYSENSOR_70:humidity)}


funktioniert net so ganz...
ABER, einbetten in floorplan funktioniert dafür umso besser!

danke für den tip!
werde noch rumspielen und hoffe, auf den zufall und mein glück ;-)
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: igami am 28 Juni 2015, 20:33:44
Hierbei sollte ein userReadings wieder funktionieren um das zweite Reading auch zu bekommen.
Alternativ ein DOIF:


define di_WaKu DOIF ([MYSENSOR_70:temperature])(setreading di_WaKu temperature [MYSENSOR_70:temperature])DOELSEIF([MYSENSOR_70:humidity])(setreading di_WaKu humidity [MYSENSOR_70:humidity])
attr di_WaKu do always


Das DOIF setzt sich dann selbst Readings wenn sich diese im Originaldevice ändern.

Grüße
igami
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: MichlB am 28 Juni 2015, 20:52:35
hallo igami
danke für den tip, aber irgendwie steig ich da nicht so recht durch...
es funktioniert irgendwie...aber nur teilweise....
irgendwie habe ich nur die temperature zur verfügung, die humidity wird nicht übergeben....
wird der Wert nur dann weiter gegeben, wenn sich der ändert oder liest das doif automatisch ein?
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: igami am 28 Juni 2015, 21:01:11
Readingsproxy kann nur ein Reading, das zweite musst du per Userreading erzeugen.

DOIF macht ein setreading, wenn sich das Reading ändert.

Was hast du denn momentan angelegt?
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: MichlB am 28 Juni 2015, 21:27:58
ich kann dir nich nicht ganz folgen, aber ich werd schon noch dahinter steigen..
also ich habe deinen code von deinem letzten post eingegeben, dadurch hat sich selbst temperature angelegt und bekommt auch werte... humidity seh ich zwar auch aber kann ich mit einem stateformat nicht abrufen....

siehe screenshot
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: Damian am 28 Juni 2015, 22:55:08
Zitat von: Michl1003! am 28 Juni 2015, 21:27:58
ich kann dir nich nicht ganz folgen, aber ich werd schon noch dahinter steigen..
also ich habe deinen code von deinem letzten post eingegeben, dadurch hat sich selbst temperature angelegt und bekommt auch werte... humidity seh ich zwar auch aber kann ich mit einem stateformat nicht abrufen....

siehe screenshot

Der DOELSEIF-Fall wird so nicht zum Zuge kommen, dann eher:

define di_WaKu DOIF ([MYSENSOR_70:?])(setreading di_WaKu temperature [MYSENSOR_70:temperature], setreading di_WaKu humidity [MYSENSOR_70:humidity])
attr di_WaKu do always


Gruß

Damian
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: Damian am 28 Juni 2015, 23:09:26
Zitat von: Damian am 28 Juni 2015, 22:55:08
Der DOELSEIF-Fall wird so nicht zum Zuge kommen, dann eher:

define di_WaKu DOIF ([MYSENSOR_70:?])(setreading di_WaKu temperature [MYSENSOR_70:temperature], setreading di_WaKu humidity [MYSENSOR_70:humidity])
attr di_WaKu do always


Gruß

Damian
Wenn du aber nur im Status die Temperatur und die Feuchtigkeit haben willst, dann geht es noch eleganter mit Hilfe des state-Attributs von DOIF:

define di_WaKu DOIF
attr di_WaKu state [MYSENSOR_70:temperature] °C [MYSENSOR_70:humidity] %


Das stateFormat-Attribut und do always ist dann überflüssig.

Gruß

Damian
Titel: Antw:Dummy wert aus Sensor zuweisen
Beitrag von: MichlB am 29 Juni 2015, 15:54:07
WoW!!!
genau so hab ich mir das vorgestellt!
Super, Vielen DANK!

noch ne frage, wie kommt ihr auf diese ganzen dinge? ich meine, ihr habt ja sicher nicht die codes mit dem löffel gefrühstückt oder? ;-)

seids ihr programmierer oder so was auf die art?