Mysensors Commandref mapReading

Begonnen von Sidey, 17 Juli 2018, 00:11:34

Vorheriges Thema - Nächstes Thema

Sidey

Hi,

ich verstehe die commandef des attributes mapReading vom mysensors_device nicht so recht:


attr <name> mapReading_<reading> <childId> <readingtype> [<value>:<mappedvalue>]*
configures the reading-name for a given childId and sensortype
e.g.: attr xxx mapReading_aussentemperatur 123 temperature

Zum einen, wird nirgendwo erklärt, was valide Werte für readingtype sind und welche gewählt werden sollten.
Durch einen Blick in den sourcecode kommt man natürlich dahinter.

Die Umwandlung von value zu mappedvalue macht mir aber größere Probleme. Ich wollte den Status on bzw. off umwandeln in geöffnet / geschlossen. Die Syntax beschreibt aber nicht, wie mehrere mappings angegeben werden und ich habe es bisher auch noch nicht verstanden wie es geht:
attr ms_batteietest mapReading_fensterlinks 10 status on:geschlossen off:geoeffnet

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

dirkcx

Eigentlich werden diese Werte automatisch gesetzt, wenn die Node erkannt wird.
mapReading_status1 1 status bzw.
attr MYSENSOR_2 mapReading_status1 1 status

On/off wird m.W. Nicht in der gleichen Zeile gesetzt, sondern ich mache das so
attr MYSENSOR_2 setReading_status1 on,off
attr MYSENSOR_2 setCommands on1:status1:on off1:status1:off


Es gibt aber gerade eine neue Version unter https://forum.fhem.de/index.php/topic,88878.msg818517.html#msg818517
die Readings nach Kommentaren setzt

Server: Gigabyte GB-BACE3160 | Ubuntu 20.04 LTS Server | aktuelles FHEM | CULUSB (busware) FS20/FHT/... | MySensors: seriell / esp8266 | ZigBee (Zigbee CC2531 / zigbee2mqtt) | homebridge / homebridge-config-ui

Sidey

Hi dirkcx,

Ich wollte ja nicht einen Set Befehl konfigurieren, sondern nur das Reading.
Mit probieren habe ich es nun geschafft

Die Standard Werte für die Status Variablen sind on bzw. off.

Also dachte ich, dass ich diesen Wert auch als Ausgangslage für das mapping nehme.
Da habe ich aber falsch gedacht, der Ausgangswert ist, was vom Node gesendet wird und das sind keine Strings sondern Zahlen (0 bzw. 1). :-)

Die Mappings selbst, werden dann durch leerzeichen getrennt, was in FHEM ja eher unüblich ist.

Hier jetzt die Lösung, um ein Reading Fensterlinks mit geöffnet oder geschlossen zu erzeugen, wenn der Wert als V_STATUS im Node gesendet wird:


mapReading_fensterlinks 10 status 1:geschlossen 0:geoeffnet


Mir scheint, dass es für das mapping demnach einen Default gibt, der im Attribut nicht konfiguriert wird:


mapReading_status10 10 status 1:on 0:off


Wäre vielleicht transparenter wenn der Default nicht im Modul sondern im Attribut eingebaut werden würde.


Grüße Sidey

Gesendet von meinem XT1650 mit Tapatalk

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

Beta-User

Moin zusammen,

ist nicht eben selbsterklärend, auch wenn die Funktionalität an sich m.E. im mapReadingType-Abschnitt dargestellt ist.

Werde daher das Beispiel in die commandref aufnehmen, den ganzen Mechanismus der Attribut-Erstellung noch weiter umzubasteln, war eigentlich nicht vorgesehen...

Danke jedenfalls für den Hinweis!

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files