[gelöst] "set magic" - Bitte um mehr Beispiele

Begonnen von drhirn, 14 Juni 2018, 09:39:06

Vorheriges Thema - Nächstes Thema

drhirn

Guten Morgen,

ich bin gerade in der CommandRef über die "set magic" gestolpert (spät, ich weiß ;) ). Ich werde nur aus der CommandRef-Erklärung dazu nicht schlau. Weder in der englischen, noch der deutschen. Ich scheitere schon am ersten Satz ("Ab featurelevel 5.7 ersetzt das set und setreading Befehl").
Hab ein bisschen damit herumgespielt, aber es wurde mir leider nicht klarer. Hauptsächlich die Präfixe nicht.

Würde mir jemand ein paar Beispiele mit Erklärung dazu zeigen? Das hilft mir immer am meisten.

Danke!
Stefan

Otto123

Hallo Stefan,

na die Präfixe werden in devspec erklärt.

Zitatanalogue to the devspec filtering.
;D

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

drhirn

Hehe ;D
Keine Sorge. Hab ich gelesen. Hat nicht geholfen. ;)

drhirn

Ok, aber die Rauchpause hat geholfen. Jetzt ist einiges klarer.

Nur das noch nicht:
Wenn ich von dem Beispiel in der CommandRef ausgehe:

set Lamp blink [blinkDummy:number] [r:blinkDummy:duration:d]

Warum dann das "r" vor "blinkDummy:duration"? "blinkDummy:duration" ist ja schon das Reading. Oder nicht?

Otto123

Ja.

Ehrlich ich habe noch nie Präfixe verwendet.

Wenn ich es lese steht da "to restrict the search to one type" also wenn es duration als reading von dem Gerät blinkdummy  und als internal gäbe ....
Ohne wird quasi in allem gesucht mit r: bloß in den Readings.

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

drhirn

Ah, ok. Macht Sinn.

Ich probiere einfach ein paar Sachen aus. Bin so frei und melde mich bei weiteren Fragen wieder.

Danke einstweilen!

Thyraz

#6
Das hier verstehe ich auch nicht
Zitat
Ab featurelevel 5.7 ersetzt das set und setreading Befehl
Was will uns dieser Satz sagen?  ???

Kann ich damit wirklich auch Readings setzen?
Ich hatte das bisher immer eher als Ersatz für ReadingsVal etc. gesehen.
Also um etwas zu lesen, nicht etwas zu setzen.

Klar kann ich das innerhalb eines setreading Befehls verwenden um den zu setzenden Wert von einem anderen Device zu holen.
Das ersetzt dann ja aber nicht den setreading Befehl...
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Otto123

#7
Das ist ein "gefährlicher Riss" aus dem gesamten Text:
ZitatFrom featurelevel 5.7 on the set and setreading command replaces:
[device:name] with the reading, internal or attribute of the device, if both device and the reading, internal or attribute exists.
You can use the r:, i: or a: prefix to restrict the search to one type, analogue to the devspec filtering.
The suffix :d retrieves the first number
The suffix :i retrieves the integer part of the first number.
The suffix :r<n> retrieves the first number and rounds it to <n> decimal places. If <n> is missing, then rounds it to one decimal place.
The suffix :t returns the timestamp (works only for readings)
The suffix :sec returns the number of seconds since the reading was set.

@Thyraz So wie Du hatte ich es bisher auch verstanden.
ZitatKlar kann ich das innerhalb eines setreading Befehls verwenden um den zu setzenden Wert von einem anderen Device zu holen.
Das ersetzt dann ja aber nicht den setreading Befehl...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

marvin78

Ich frage mich, wo steht, dass es setreading ersetzt?! Ich lese das nicht, auch wenn es "holprig" formuliert ist.

drhirn

Zitat von: Otto123 am 14 Juni 2018, 12:25:55
Das ist ein "gefährlicher Riss" aus dem gesamten Text:

Ich hatte eh ein schlechtes Gewissen, als ich die Zeile aus dem Kontext gerissen zitiert habe. Aber der Rest des Textes hat's für mich leider auch nicht verständlicher gemacht. Weder auf englisch, noch auf deutsch. ;)

Wenn das vielleicht jemand in der CommandRef klarer formulieren könnte, wäre wahrscheinlich nicht nur Thyraz und mir damit geholfen.

Thyraz

#10
@Otto in dem englischen Text verstehe ich das jetzt auch.

Mit dem fehlenden Doppelpunkt und dem falschen Artikel in der deutschen Version klingt das vom Sinn her aber ganz anders. ;)

Wenn aus
Zitat
Ab featurelevel 5.7 ersetzt das set und setreading Befehl

dieses wird:
Zitat
Ab featurelevel 5.7 ersetzt der set und setreading Befehl:
passt es IMO.

Der Sinn des Ersten ist: Das (was auch immer) ersetzt den set und setreading Befehl.
Sinn des Zweiten ist hingegen: Der set und setreading Befehl ersetzt die folgend beschriebene Syntax <durch die dahinterstehenden Werte>.

Hoffe meine Verwirrung ist damit erklärbar.
Damit diese Diskussion außer meiner Erleuchtung einen Sinn hat, habe ich eben noch den Maintainer (Rudi) angeschrieben.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

rudolfkoenig

Habe den Vorschlag uebernommen und eingecheckt.