Device Alias mit einen Readingvalue setzten?

Begonnen von Groej, 17 Dezember 2016, 06:57:17

Vorheriges Thema - Nächstes Thema

Groej

Hallo an alle,

ist es möglich einen Alias Namen über ein Readingvalue zu setzen? Ich hab schon einiges probiert aber bekomm es nicht hin bzw. vielleicht geht es ja gar nicht.
Geht das wenn überhaupt vielleicht in der Art:
attr anel_bln_rel7 alias (ReadingsVal("anel_bln_rel0","name8",99))

Hintergrund ist folgender. Ich habe eine ANEL IP Steckdosenleiste und kann die Namen der Steckdosen auslesen und möchte nun die Namen im FHEM als alias anzeigen lassen.

Danke

Gruß

Jörg
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

Bjoernar

Du kannst doch die Attribute über ein notify auf das Reading setzen.

Gesendet von meinem Moto G (4) mit Tapatalk


Benni

Ich wüsste ja nicht, dass für alias auch Perl geht, mal abgesehen davon, dass die Perl-Ebene von geschweiften klammern umschlossen wird und nicht von einfachen Klammern.

Schau dir doch mal das Attribut nameDisplay von FHEMWEB an, damit sollte sowas machbar sein.

Groej

Moin,

danke schon mal für die Antworten. Mit den geschweiften Klammern hatte ich auch probiert. Der Befehl geht auch in der FHEM Kommandozeile leider nicht in Verbindung mit alias. Die Sache mit nameDisplay versteh ich ehrlich gesagt nicht.

Bjoernar meinst Du mit notify das Reading auf eine Variable setzten und dann diese Variable hinter alias setzen?

Gruß

Jörg
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280

Masterciw

Hallo Groej,

wie bereits im anderen Thread angekündigt, hier die Lösung das Alias Attribut per Variable zu setzen:

Ich habe dazu im Notify folgenden Eintrag erstellt:

define AnelSD_07_notify notify AnelSD:(value7|value17).* {\
  fhem("setreading AnelSD_07_dummy $EVENT");;\
  fhem("attr AnelSD_07_dummy alias Steckdose 07: " .(ReadingsVal("AnelSD","value17", "")));;\
}

Was macht der Quelltext?

In der ersten Zeile definiere ich den Notify für die Anel Steckdose und lese aus dem Device AnelSD die Werte für Status (Value7) und Namen (Value17) aus.
Diese Daten übergebe ich in der 2. Zeile an das Dummy Device AnelSD_07_dummy
In der 3. Zeile nun weise ich dem  AnelSD_07_dummy nun das alias attribut mit der Variablen zu.

Dies funktioniert einwandfrei und in der WebUI wird der Name auch korrekt angezeigt.
Der einzige Haken, den ich dabei bisher gefunden habe, ist das wenn sich der Name ändert man in der WebUI einmal auf Save klicken muss, da sich der Alias Name geändert hat. Dadurch wird dieser dann in der Config hard kodiert eingetragen und solange sich nichts am Namen ändert, bleibt das auch so und ein erneutes Speichern entfällt.

Wenn es anderswie einfacher geht freue ich mich über Feedback.
Was den Code angeht bedenkt bitte das das Thema für mich recht neu ist und man einiges sicher eleganter umzusetzten wäre.
Über konstruktive Kritik freue ich mich immer.


Gruß

Masterciw



Groej

Hallo Masterciw,

auf die Idee das ganze Atrribut mit einen FHEM Befehl zu setzten bin ich nicht gekommen. Man bin ich doof. Super gelöst Danke. Habs auch gerade eingebaut.

Ich mach das Thema erstmal zu.

Gruß

Jörg
FHEM - RaspPi2 - KNXD - KNX - CUL 868 - FS20 - HMS - WH3080 - Signalduino 433 MHz - Telegram - Anel Elektronik IP Steckdosen - BME280