Dummy wert aus Sensor zuweisen

Begonnen von MichlB, 28 Juni 2015, 16:47:59

Vorheriges Thema - Nächstes Thema

MichlB

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
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

igami

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

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

MichlB

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 ;-)
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

igami

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
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

MichlB

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?
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

igami

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?
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

MichlB

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
1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#8
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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

MichlB

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?

1x PI 2B+ FHEM - Heizung
1x Pi 3b+ - FHEM - Haussteuerung
1x Pi 3 - MagicMirror
2x Pi B - Musicbox