Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

Gerhard

hallo andre,

sind (werden) die änserungen in darkstyle.css eingechekt??, rudi hat sich dazu nicht geäusert, oder wartet noch auf tests von Uli?

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

justme1968

ich weiss nicht mehr als du...

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

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

stromer-12

Hi,

Ich habe ein Problem mit meiner readingsGroup.

Internals:
   DEF        <%sani_heating>,<Mode>,<Ventil>,<Temp>,<Wunsch>,<Fenster> TYPE=FHT:mode,actuator,measured-temp,desired-temp,window
   NAME       Heizungswerte
   NR         705
   NTFY_ORDER 50-Heizungswerte
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     az.hz      1
     ba.hz      1
     ku.hz      1
     sz.hz      1
     ve.hz      1
     wz.hz      1
   DEVICES:
     ARRAY(0x187cfc0)
     ARRAY(0x14819a0)
     ARRAY(0x18a7238)
     ARRAY(0x16dac50)
     ARRAY(0x1555ae0)
     ARRAY(0x14a8ab8)
     ARRAY(0x16d27b0)
   Fhem:
     last_update 1393764656.6148
Attributes:
   commands   { 'mode.manual' => 'set $DEVICE mode auto', 'mode.auto' => 'set $DEVICE mode manual', 'desired-temp' => 'desired-temp:' }
   fp_1_Veranda 5,5,0,
   group      Heizungswerte
   noheading  1
   nolinks    1
   room       Heizung
   sortDevices 1
   valueFormat {"measured-temp" => "%.1f°C"}
   valueIcon  { "mode.auto" => "sani_heating_automatic\@green", "mode.manual" => "sani_heating_manual\@yellow", "window.closed" => "fts_window_1w\@green", "window.open" => "fts_window_1w_open\@red" }


Es wird kann nur die erste Temperatur im Floorplan gesetzt werden. Bei den anderen kommt folgende Fehlermeldung:
ERROR: Floorplan 1_Veranda&arg.sz.hz=desired-temp&dev.sz.hz=sz.hz&val.sz.hz=11.5&cmd.sz.hz=set not defined

Unter fhemweb funktionieren alle Links.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

justme1968

betrifft es nur das menü für desired-temp oder auch die direkten links?

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

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

Elektrolurch

Hallo Andre,

probiere gerade mit dem attr xx comands herum. Sieht ja Klasse aus, habe aber da doch ein paar Fragen.
1. Hatte mit
attr Hz_rg valueFormat {'Anlagenfrostschutz' => '%.1f C'}
und so ähnlich mir formatierte Ausgaben für die readings der HzAnlage definiert.
Nun kommt jetzt die Eingabe dazu:
attr Hz_rg commands {'HzAnlage.Anlagenfrostschutz' => "Anlagenfrostschutz:textField"}
definiert und ein mapping für die Namen in der ersten Spalte.
Nach der Definition von commands rutsch der Wert in die dritte Spalte und der Namen wird wiederholt (Klar, steht ja auch da vor dem textField und geöhrt ja zum  notify, welches nach Eingabe an die HzAnlage gesandt wird?)
Aber mir fehlt jetzt das Format, sprich das "Grad C". Wie bekomme ich das hinter das Textfeld?
2. Ich habe zum Teil mehrere Werte in einer Zeile, z.B. Solarvorlauftemp,Solarrücklauftemp, so dass das mapping so aussieht:
'Solarvorlauftemp' => 'Solar Temp. (Vor/Rück)'
Den Text vor dem Textfeld kann man wohl nicht unterdrücken?
3. Wenn man die Beschriftungen vor den Eingabefeldern beibehalten muss, könnte man auf die Bezeichner in der ersten Spalte ja dann eigentlich verzichten. Kann man das mapping für die erste Spalte unterdrücken, so dass das/die Textfelder mit Bezeichner ganz nach links rutschen?
4. Was ja ganz witzig ist:
Habe in dem Modul mir für die set-Funktion auch die ? - Option implementiert und da die HzAnlage  Bereichsgrenzen für eine gültige Eingabe liefert, habe ich die mal durch 10 dividiert und mir die Werte für ein Menü gleich hinter der set-Ausgabe angehängt.
Setzt man nun bei commands statt "textField" nichts ein, so erscheint automatisch diese Menüliste. Sehr schön!

Aber ev. hast Du für 1. und 2. einen Tipp?

Gruß

Elektrolurch
configDB und Windows befreite Zone!

justme1968


du kannst den text vor dem textfeld bzw dem drop down menü über mapping auf "" bzw &nbsp; (d.h. nichts) mappen. dann verschwindet es (fast).

damit sollte 1. und 2. dann besser aussehen.

ja. genau. so sollte es sein. wenn du nichts angibst wird der interne default von fhemweb genommen. du kannst aber auch etwas angeben das nur eine untermenge des defaults ist. also z.b. desired-temp auf einen bestimmten bereich beschränken.

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

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

Elektrolurch

Hallo Andre,

das ging ja flott.
Mapping: Geht denn das auf jede Spalte? Ich dachte immer nur auf die Erste?
Müsste das dann so heissen:
..mapping {HzAnlage.Anlagenfrostschutz' => 'Temp. für 'Anlagenschutz', 'Anlagenfrostschutz:' => ""} ?
wenn wie oben das command = Anlagenfrostschutz:textField lautet?
Und gibt es noch eine Möglichkeit hinter dem Textfeld die Einheit auszugeben? (K, l/min, Grad C usw)?

Gruß
configDB und Windows befreite Zone!

justme1968

das mapping geht immer dort wo automatisch ein reading name eingeblendet wird. das ist normalerweise nur die erste spalte. der text for den commands ist die ausnahme wo das dann auch geht.

du kannst die einheiten in einer eigenen spalte mit <text> dahinter schreiben (also <K>,<l/min>,...). es dürfen nur keine leerzeichen enthalten sein.

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

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

stromer-12

Zitat von: justme1968 am 03 März 2014, 13:36:59
betrifft es nur das menü für desired-temp oder auch die direkten links?

Die direkten Links funktionieren.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Elektrolurch

Hallo Andre,

noch Mal eine Frage zum Textfeld/Menü in der readingsGroup, wobei ich vermute, dass die Aussage / Frage allgemeinerer Natur is?
Ich baue ja gerade ein Modul für meine Heizungsanlage, die lesenden Werte kommen alle, schreiben in die Anlage bin ich gerade dabei.
Nun ist mir aufgefallen, dass wenn ich einen Wert in einem Textfeld ändere, der sofort auch im Reading der Heizungsanlage steht, ohne dass der natürlich tatsächlich an die Hz gesendet wurde. Klassisch würde ich jetzt ein notify an die Hz hängen und dass so abfangen. Aber in einem Modul hat ja ein anderes Modul nichts zu suchen. Also, wie bekommt jetzt das Modul mit, dass das Reading sich ändern möchte?
Gibt es da so etwas ähnliches, wie die AttrFN?

In der fhem.pl konnte ich da nichts adäquates finden.

Gruß


Elektrolurch
configDB und Windows befreite Zone!

justme1968

über NotifyFn kannst du das mitbekommen. aber eigentlich ist das nicht sauber und auch nicht wirklich effizient.

wenn du ein eigenes modul  schreibst solltest du dafür ein set kommando vorsehen.

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

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

Elektrolurch

Hallo Andre,

Die entsprechende set - Funktion habe ich ja schon, die wird aber doch nicht automatisch aufgerufen, wenn die Eingabe im Textfeld / die MeMenü - Auswahl abgeschlossen ist.
Also bleibt doch n Wo ist das dokumentiert?
Parameter: Name, ReadingName, Value ? Oder statt Name den hash?
Und return undef, wenn das Reading vom Wert ok ist?

ur das NotifyFN.
configDB und Windows befreite Zone!

justme1968

wenn das set nicht automatisch aufgerufen wird stimmt etwas anderes noch nicht.

NotifyFn funktioniert nur so einfach. und du kannst dort nicht mehr werte überprüfen. das ist schon zu spät. du kannst nur mitbekommen das er gesetzt wurde.

die setFn ist wirklich die richtige stelle.

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

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

Elektrolurch

Verstehe ich aber trotzdem nicht, Deine Antwort.
Wenn ich in das Textfeld etwas eingebe, so wird sofort das Reading auf den neuen Wert gesetzt... Was ja ggfs. zu verhindern wäre.
Da nützt die Implementierung einer set-Funktion doch auch nichts.
Ich stehe da offensichtlich auf dem Schlauch...
configDB und Windows befreite Zone!

justme1968

das mit dem sofort setzen sollte nur bei dummys so sein.

bei 'echten' devices mit einem passenden set sollte das nicht so sein.

bitte teste es mal mit einem menü oder slider.

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

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