Servus zusammen,
Ich möchte ein MySensors-Display bauen, das u.a. eine Textnachricht empfängt und anzeigt. Der POC funktioniert auch schon... irgendwie :p
Folgendes funktioniert schon:
Internals:
CFGFN
DEF 108
FUUID 61dc1d06-f33f-39ae-6bca-b44f7d763b148271
FVERSION 10_MYSENSORS_DEVICE.pm:0.237770/2021-02-20
IODev MySensors.Gateway
NAME MYSENSOR_108
NR 127291
STATE gna
TYPE MYSENSORS_DEVICE
ack 0
radioId 108
repeater 1
version 2.3.2
READINGS:
2022-01-10 13:25:58 SKETCH_NAME Notifier
2022-01-10 13:25:58 SKETCH_VERSION 1.0
2022-01-10 13:25:58 parentId 0
2022-01-10 13:26:33 state on
2022-01-10 13:28:24 text gna
gets:
readingMappings:
0:
47:
name text
retainedMessagesForRadioId:
setcommands:
off:
val off
var text
on:
val on
var text
sets:
clear noArg
flash noArg
fwType
off
on
reboot noArg
time noArg
Attributes:
IODev MySensors.Gateway
mapReading_text 0 text
mode repeater
room MYSENSORS_DEVICE
setCommands on:text:on off:text:off
stateFormat text
Durch das setCommands-Attribut wird auch am Display der Text "on" bzw "off" angezeigt.
Jetzt kann ich aber schlecht alle möglichen Nachrichten als "setCommand" anlegen ;) Eigentlich würde ich mir vorstellen, daß sowas funktioniert:
set MYSENSOR_108 text Hallo
Vermutlich stehe ich wieder auf dem Schlauch und das geht ganz einfach...
Könnt Ihr mir da bitte helfen? Danke :)
cu
Markus
Hmm, eigentlich sollte das setReading-mapping automatisch erstellt werden...
Versuch mal, ob du dann einen setter bekommst, wenn du das hier absetzt:
attr MYSENSOR_108 setReading_text
das setCommand solltest du wieder löschen, das ist eher für "state"-relevante Sachen interessant.
Da fehlt noch der "Inhalt"
attr MYSENSOR_108 setReading_text Hallo
Wenn du frei sein möchtest, trägst du anstelle von Hallo textField ein.
attr MYSENSOR_108 setReading_text textField
Dann bekommst du unter Set ein Eingabefeld.
Hallo!
Danke Euch beiden, so funktioniert das :)
Beta-User: Ja, es hätte für weniger Verwirrung auf meiner Seite gesorgt, wenn das setReading-mapping automatisch da gewesen wäre. Keine Ahnung, warum das fehlt. Mein fhem hat ein paar Monate lang kein Update gesehen, vielleicht liegt das da dran.
Frober: Kannst Du mir bitte einen Link zur Doku schicken, wo textField erklärt wird? Ich möchte nämlich auch noch andere readings mit z.B. Float-Werten haben...
Nochmal danke :)
cu
Markus
An einem fehlenden Update dürfte es nicht gelegen haben, kann sein, dass das automatisch kommt, wenn z.B. die Gegenstelle einen Wert sendet...
Zitat von: The Grue am 10 Januar 2022, 14:15:43
Frober: Kannst Du mir bitte einen Link zur Doku schicken, wo textField erklärt wird?
Das ist einfach ein "widget", https://wiki.fhem.de/wiki/FHEMWEB/Widgets
Das setReading-mapping wird mWn nicht immer automatisch gesetzt.
Ich musste bei meiner Inbetriebnahme auch einige selbst setzen.
Ich meine das hängt an der API, da wo es klar ist, z.B. status on/off wird es angelegt.
Bei Freitext, Zahlen z.B. für Offset funktioniert das nicht, da nicht festes hinterlegt ist.
Zu textField habe ich keinen Link, das hatte ich mir irgendwo aus dem Forum gezogen.
Unter Widget ist es auch nicht wirklich erklärt oder ich habe es übersehen.
Du kannst es quasi für alles nehmen, auch "Float".
Das einlesen als float erledigst du dann in der Node.
float meinWert = message.getFloat()
Findest du unter https://www.mysensors.org/download/sensor_api_20 (https://www.mysensors.org/download/sensor_api_20), ziemlich unten unter Message manipulation