Neues Modul readingsGroup

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

Vorheriges Thema - Nächstes Thema

Elektrolurch

Hallo Andre,

danke für das Angebot. Jetzt habe ich für den Test eine Umstellung gemacht und speichere die Informationen der Anrufe nicht mehr bei der Fritzbox, sondern in einem eigenen dummy -> und siehe da, jetzt wird zumindest bei einem Anruf die erste Zeile aktualisiert. Tue mich da beim Testen wegen Scrrenreader etwas schwer, kann ja auch noch sein, dass der das Update auf dem Scrren nicht mitbekommt.

Mich wundert das etwas, da müsste ja das FBCallMonitor - Modul etwas mit den Events machen, wenn ich da readings hinterlege, die ihm ursprünglich ja nicht bekannt waren....

Werde da mal weiter forschen....

Gruß

Elektrolurch
configDB und Windows befreite Zone!

Roaster

Zitat von: justme1968 am 26 August 2014, 18:04:52
schau dir auch mit
firebug mal die fhem web seite an. die einzelnen zellen der tabelle sollten ein inform id tag haben zu dem das event jeweils passen muss.
Andre,

ich habe das jetzt mal geprüft, siehe angehängte Datei und hier als Ausschnitt noch eingefügt, Taebllenzeile 1, Spalte 1 sowie Spalte 2
<td informid="Anrufliste-FritzBox.A0">
<div informid="Anrufliste-FritzBox.B0">11:19:08 27.08.2014</div>


Ich weiß jetzt nicht genau was "zum event passen" genau bedeutet. Deshalb hier der Auszug aus der fhem.cfg:
define FritzBox FB_CALLMONITOR 192.168.6.1:1012
attr FritzBox local-area-code 0xxxx
attr FritzBox reverse-search all
attr FritzBox reverse-search-cache 1
attr FritzBox reverse-search-cache-file ./log/FritzBox_Cache.txt
attr FritzBox reverse-search-phonebook-file ./log/FritzBox_Telefonbuch.xml
attr FritzBox userReadings eing0 eing1 eing2 eing3 eing4 A0 A1 A2 A3 A4 B0 B1 B2 B3 B4 C0 C1 C2 C3 C4 D0 D1 D2 D3 D4 E0 E1 E2 E3 E4 F0 F1 F2 F3 F4
attr FritzBox verbose 0
attr FritzBox unique-call-ids 1

define FileLog_FritzBox FileLog ./log/FritzBox-%Y.log FritzBox
attr FileLog_FritzBox logtype text

# Normale Anrufe
#define not.FBCallNotify notify FritzBox:.* { FB_TelefonMonitor ($NAME,$EVENT);; }
define not.FBCallNotify notify FritzBox:.* { FB_TelefonMonitor ($EVENT);; }
attr not.FBCallNotify room Telefon
attr not.FBCallNotify sortby C01

define Anrufliste readingsGroup FritzBox:A0,B0,C0,D0,E0 FritzBox:A1,B1,C1,D1,E1 FritzBox:A2,B2,C2,D2,E2 FritzBox:A3,B3,C3,D3,E3 FritzBox:A4,B4,C4,D4,E4
attr Anrufliste mapping &nbsp
attr Anrufliste nameStyle style="font-weight:bold"
attr Anrufliste noheading 0
attr Anrufliste nolinks 1
attr Anrufliste nostate 1
attr Anrufliste notime 1
attr Anrufliste room Telefon
attr Anrufliste style style="font-size:20px"
attr Anrufliste valueIcon {'A0.out_connected' => 'phone_ring_out@green', 'A0.in_connected' => 'phone_ring_in@green', 'A0.AB' => 'audio_volume_mid@lightgreen', 'A0.in_notconnected' => 'phone_ring_in@red', 'A0.out_notconnected' => 'phone_ring_out@red', 'A1.out_connected' => 'phone_ring_out@green', 'A1.in_connected' => 'phone_ring_in@green', 'A1.AB' => 'audio_volume_mid@lightgreen', 'A1.in_notconnected' => 'phone_ring_in@red', 'A1.out_notconnected' => 'phone_ring_out@red', 'A2.out_connected' => 'phone_ring_out@green', 'A2.in_connected' => 'phone_ring_in@green', 'A2.AB' => 'audio_volume_mid@lightgreen', 'A2.in_notconnected' => 'phone_ring_in@red', 'A2.out_notconnected' => 'phone_ring_out@red', 'A3.out_connected' => 'phone_ring_out@green', 'A3.in_connected' => 'phone_ring_in@green', 'A3.AB' => 'audio_volume_mid@lightgreen', 'A3.in_notconnected' => 'phone_ring_in@red', 'A3.out_notconnected' => 'phone_ring_out@red', 'A4.out_connected' => 'phone_ring_out@green', 'A4.in_connected' => 'phone_ring_in@green', 'A4.AB' => 'audio_volume_mid@lightgreen','A4.in_notconnected' => 'phone_ring_in@red', 'A4.out_notconnected' => 'phone_ring_out@red', }


Also mein Event heißt schon Mal anders, als die IDs im HTML Coding. Weiß nicht, ob du das gemeint hast?

Grüße,
Michael

Roaster

Mal ein etwas anderes Problem mit den readingsGroup. Ich habe MAX Fensterkontakte, die beispielsweise wie folgt lauten: KellerHeizung, KellerWerkstatt, GarageRechts, GarageLinks.

Während die mit Keller tatsächlich den Zustand von Fenster (opened,closed) repräsentieren, sind geben die mit Garage den Zustand der Garagentore an.

Ich möchte jetzt den Zustand der Fenster mit den Symbolen der Fenster und den Zustand der Garagentore mit anderen Symbolen darstellen. Da aber der Zustand nur über das Reading state geht, und dort immer der gleiche Inhalt drin steht, kann ich nicht unterscheiden, ob der Zustand von den Fenstern oder den Toren kommt. Zumindest ich kann es bisher nicht:

Das folgende Attribut stellt derzeit ALLE Kontakte mit dem Symbol Fenster offen oder Fenster geschlossen dar. Das mit den Toren kann ich, wie gesagt, momentan nicht:

attr Oeffnungszeiten valueIcon {'state.closed' => 'fts_window_roof@green', 'state.opened' => 'fts_window_roof_open_2@red', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}

Die Symbole, die ich für die Tore verwenden möchte: closed:fts_garage_door_100@green opened:fts_garage@red.

Dann habe ich noch ein kleines Darstellungsproblem, siehe angefügtes Bild.

define Oeffnungszeiten readingsGroup <%temp_temperature>,< >,<Raum>,<Zustand>,<Batterie> TYPE=MAX:state,battery
attr Oeffnungszeiten alias Öffnungszeiten
attr Oeffnungszeiten mapping %ALIAS
attr Oeffnungszeiten room Keller
attr Oeffnungszeiten notime 1
attr Oeffnungszeiten valueIcon {'state.closed' => 'fts_window_roof@green', 'state.opened' => 'fts_window_roof_open_2@red', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}
attr Oeffnungszeiten nameStyle style=color:yellow;;font-weight:bold;;text-align:left


Und zwar mit den Überschriften und den Werten. Die Überschriften sind zu weit rechts, die Werte würden passen. Im Wiki sind bei allen Beispielen die Überschriften und die darunter stehenden Werte immer unter einander.

Kann mir hier jemand einen Tipp geben?

Danke,
Michael



justme1968

zu der frage mit den unterschiedlichen symbolen für tür und garage gibt es weiter oben schon etwas. du hast beim mapping auch zugriff auf device namen.

du hast vor ein leeres <> zu viel in der überschriften zeile.

alles andre muss ich mir in ruhe anschauen. vermutlich erst nächste woche.

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

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

RoBra81

Hallo,

ich baue mir gerade eine ReadingsGroup zur Handbedienung meiner Heizkörper (hm-cc-rt-dn) zusammen. Hierbei möchte ich nicht den Wert desired-temp setzen, sondern den Wert für controlManu. Da es für controlManu aber kein Reading gibt, dachte ich, ich könnte den Wert von desired-temp zur Auswahl des korrekten Wertes des Liste controlManu nehmen - funktioniert aber leider nicht :(

Hat jemand eine Idee, wie ich den korrekten Wert in der Liste vorselektieren kann?

Hier meine ReadingGroup:

define DG.wz.HZ.Heizkoerperventil.RG readingsGroup <%sani_heating>,< >,< >,< >,< >,< >,< > <Ist>,<Soll>,<Mode>,<bis>,<Bat>,<Ventil> DG.wz.HZ.Heizkoerperventil.Clima:measured-temp,desired-temp,controlMode,<{getHeatingModeUntil($DEVICE)}@controlMode>,battery@{getHeatingDeviceName($DEVICE)},ValvePosition,<{getHeatingStateIcon($DEVICE)}@state>,<{getHeatingStateValue($DEVICE)}@state>
attr DG.wz.HZ.Heizkoerperventil.RG commands { 'desired-temp' => 'desired-temp:' }
attr DG.wz.HZ.Heizkoerperventil.RG fp_Wohnzimmer 341,343,0,
attr DG.wz.HZ.Heizkoerperventil.RG mapping {'desired-temp' => ''}
attr DG.wz.HZ.Heizkoerperventil.RG nameStyle style="color:yellow;;font-weight:bold;;text-align:center"
attr DG.wz.HZ.Heizkoerperventil.RG noheading 1
attr DG.wz.HZ.Heizkoerperventil.RG nonames 1
attr DG.wz.HZ.Heizkoerperventil.RG room Wohnzimmer
attr DG.wz.HZ.Heizkoerperventil.RG valueFormat { 'measured-temp' => "%0.1f&deg;;C",'ValvePosition' => "%.0f%%"}
attr DG.wz.HZ.Heizkoerperventil.RG valueIcon {'battery.ok' => 'batterie_lightgreen', 'battery.low' => 'batterie_red', 'state' => '%VALUE', 'controlMode.manual' => 'sani_heating_manual', 'controlMode.auto' => 'sani_heating_automatic'}
attr DG.wz.HZ.Heizkoerperventil.RG valueStyle style="text-align:center"


Zu Info noch die Auszüge aus der myUtils:

sub
getHeatingStateIcon($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    $device = $device.'.Clima';
  }
  my $state = Value($device);
  if ($state =~ /^set_controlManu/)
  {
    return '%CMDs_pending';
  }
  else
  {
    return '%CMDs_done';
  }
}

sub
getHeatingStateValue($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    $device = $device.".Clima";
  }
  my $state = Value($device);
  if ($state =~ /^set_controlManu/)
  {
    my @values=split(/ /,$state);
    return $values[1].'°C';
  }
  else
  {
    return ' ';
  }
}

sub
getHeatingModeUntil($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    $device = $device.".Clima";
  }
  my $controlMode = ReadingsVal($device, "controlMode", " ");
  $device = $device.".at.DoAuto";
  my $until = InternalVal($device, "NTM", " ");
  if ($until eq " ")
  {
    return "";
  }
  else
  {
    if ($controlMode eq "auto")
    {
      return '%CMDs_pending';
    }
    else
    {
      return $until;
    }
  }
}

sub
getHeatingDeviceName($)
{
  my ($device) = @_;
  if ($device !~ /.Clima$/)
  {
    return $device;
  }
  else
  {
    my @values=split(/.Clima/,$device);
    return $values[0];
  }
}


Ronny

justme1968

erzeuge dir das controllManu reading einfach selber. per setreading oder user reading.

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

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

RoBra81


wkarl

Hallo,

eine Frage aus Neugierde und da ich keinen Informationen dazu finde: schalte controlManu automatisch in den manuellen Status, falls das device vorher im Status auto war? Oder welchen Zweck hat diese Option?

Danke und ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

RoBra81

Zitat von: wkarl am 28 August 2014, 11:32:18
schalte controlManu automatisch in den manuellen Status, falls das device vorher im Status auto war? Oder welchen Zweck hat diese Option?

Genau so ist es, und ich schalte dann mit einem at nach 1,5h wieder in Auto, sodass dann wieder das Auto-Soll aktiviert wird...

Roaster

Zitat von: justme1968 am 27 August 2014, 14:06:25
du hast vor ein leeres <> zu viel in der überschriften zeile.

Danke Andre,

wenn ich das < > entferne, ich hatte das schon Mal vor dem Posten probiert, dann sieht es so aus, wie unten angefügt. Hat also auch nicht wirklich viel gebracht  :(

Michael

justme1968

ich sehe im screenshot drei spalten überschrift, zwei spalten icons und in der dfinition noch viel mehr readings.

readings die es im device nicht gibt werden von der readingsGroup ausgelassen und alle folgenden spalten rutschen eins nach links.

wenn du das nicht willst musst du das valueColum attribut verwenden und einem reading eine feste spalte zuweisen.

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

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

Roaster

define Oeffnungszeiten readingsGroup <%temp_temperature>,<Raum>,<Zustand>,<Batterie> TYPE=MAX:state,battery

Bin nicht der Spezi, aber ich habe hier ein Symbol, den Raum (mit Alias aus den jeweiligen Geräten), den eine Spalte mit State und eine weitere mit Battery.

Welche Readings hast du außer state und battery noch im Auge?

Meine Definition sollte doch im Grunde genommen das gleiche sein, wie hier im Wiki unter "Heizungswerte inklusive Batterie- und Fensterstatus" beschrieben:
define Heizungswerte readingsGroup <%sani_heating>,< >,<Act>,<Soll>,<Ist> TYPE=FHT:actuator,desired-temp,measured-temp,<%18>,<%20>,<%22>,window,battery

Das Ergebnis, im Bild angefügt, sieht dann allerdings anders aus, wie bei mir. Oder macht es einen Unterschied, weil ich noch zusätzlich attr Oeffnungszeiten mapping %ALIAS verwendet habe?

Ich denke nicht, aber wo ist dann mein Problem? Die zusätzliche Überschrift "Raum"? Ja, das war es! Das bedeutet, dass das Symbol auch eine eigene Überschrift ist und zu der Spalte mit den Raumnamen gehört. Ich kann der readingsGroup also kein Symbol geben und an gleicher Stelle nicht auch noch einen Text zuweisen?

Michael





Roaster

Zitat von: justme1968 am 27 August 2014, 14:06:25
zu der frage mit den unterschiedlichen symbolen für tür und garage gibt es weiter oben schon etwas. du hast beim mapping auch zugriff auf device namen.
Andre,

meine Frage hat sich erledigt: mit dem Hinweis von dir weiter vorne im Thread
Zitatoder wenn es sich sowieso um state dreht die icons schon im original device mit devStateIcon zuweisen und dann in der readingsGroup dann einfach %devStateIcon als mappng verwenden. die readingsGroup nimmt dan das aktuelle devStateIcon des device.
konnte ich es folgendermassen lösen:

attr Oeffnungszeiten valueIcon {state => '%devStateIcon', 'battery.ok' => 'batterie@green', 'battery.low' => 'batterie@red'}

Danke und Grüße,
Michael

piet_pit

Hallo Zusammen,

ich habe einen PCA in FHEM integriert und möchte jetzt gerne die Verbrauchsdaten grafisch aufbereiten und anzeigen. Dazu versuche ich mich an dem Beispiel aus dem WIKI (readingsgroup), sieht ja einfach aus.
Es gelingt mir aber nicht, die Werte (z.B. kwh) sichtbar zu machen, was mache ich falsch oder was habe ich vergessen :(

#Verbrauch_Gartenpumpe
define Verbrauch_Gartenpumpe readingsGroup Type=PCA301:state,power,consumptionTotal
attr Verbrauch_Gartenpumpe group Gartenpumpe
attr Verbrauch_Gartenpumpe mapping %room %alias
attr Verbrauch_Gartenpumpe room Garten
attr Verbrauch_Gartenpumpe valueFormat {power => "%.1f", consumptionTotal => "%.2f kWh"}
define SVG_FileLog_PCA301_0EB4A7_1 SVG FileLog_PCA301_0EB4A7:SVG_FileLog_PCA301_0EB4A7_1:CURRENT


ich bin irgendwie ratlos, kann doch eigentlich nicht so schwer sein...
VG
Pit
FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

frank

als erstes mal "TYPE". ebenso "ALIAS" und "ROOM".

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html