fhemweb redirect patch für copy kommando

Begonnen von justme1968, 19 Mai 2014, 14:04:29

Vorheriges Thema - Nächstes Thema

justme1968

anbei ein kleiner patch der nach einem copy kommando (http://forum.fhem.de/index.php/topic,23738.0.html) ein redirekt auf das neu angelegte device macht. so wie beim define auch.

schöner wäre natürlich das nicht hard zu kodieren. aber das lohnt den aufwand noch nicht oder ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig


justme1968

jetzt aber ...

ps: war nur ein test wie schnell du reagierst :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

Habs eingecheckt. Generisch machen wir es nach dem dritten Fall.

Markus Bloch

ich würde mir wünschen, wenn man mit dem copy-Kommando nicht nur komplette definitionen kopieren kann, sondern auch nur die Attribute kopieren kann.

Also evtl:

copy DefinitionA DefinitionB parameterOnly

Oder wie auch immer, sodass also B bereits existiert. Die Definitions-Argumente von B unberührt bleiben, aber die Attribute nun von Definition A enthält.

Würde mir sehr helfen.

Vielen Dank

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

justme1968

daran hab ich auch schon gedacht.

de frage ist ob man auch noch erlaubt die alten attribute zu ersetzen oder zu ergänzen.

also z.b. replaceAttributes und  overwriteAttributes.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus Bloch

Das währe ne tolle Sache. Würde mich freuen.

Schönes Wochenende und viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

justme1968

ich hab grad das problem das mir keine griffigen namen einfallen... die grundidee ist die:copy <A> <B> [attrOnly [modifier]]

wobei modifier sein kann:
- AorB (oder AoverB) -> alle attribute von a und b, a hat vorrang, also dazu kopieren ohne überschreiben. das wäre auch der default
- BorA (oder BoverA) -> alle attribute von a und b, b hat vorrang, also dazu kopieren mit überschreiben
- AreplacedB (oder AatopB) -> alle attribute von a, falls es schon ein gleichnamiges in b gibt bleibt es erhalten, alles andere wird gelöscht. d.h. eventuell schon vorhandene gleichnamige behalten
- BreplacedA (oder BatopA) -> alle attribute in b, wenn es ein gleichnamiges attribut in a gibt dann ersetzt es das attribut in b, d.h. gleichnamige behalten. d.h. nur schon vorhandene gleichnamige überschreiben

braucht man alle vier? gibt es bessere namen für die modifier (die namen in klammern wären die namen für die jeweils entsprechende grafik compositing operation)?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus Bloch

hmm, ich würde es so nennen

copy <A> <B> [attrOnly [modifier]]

modifier-Argumente:

(default ohne modifier-Argument) - Alle Parameter von A werden in B gesetzt bzw. überschrieben  (bei dir AorB)
onlyExisting - Parameter von B die auch in A existieren, werden mit den Werten von A überschrieben.
onlyMissing - Alle Parameter von A die NICHT in B existieren, werden mit den Werten von A gesetzt.
strict - Alle Parameter von A in B setzen und Parameter in B löschen, die in A nicht existieren.

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Evtl. noch zusätzlich:

moduleSpecific - Alle modulspezifischen Parameter von A in B setzen. "Modulspezifisch" heißt alle Attribute, die in der AttrList des zugrundeliegenden Moduls gelistet sind. Vorraussetzung A und B liegen dem selben Modul zugrunde.

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)