Batteriestand prozentual statt ok/bad.

Begonnen von moemoe, 26 September 2014, 12:28:14

Vorheriges Thema - Nächstes Thema

moemoe

Ich wollte in meinen Reading-Groups nicht nur stumpf den Batteriezustand darstellen, sondern wenn die HM-CC-RT-DN schon eine Spannung liefern, diese etwas aufbereiteter darstellen.

Definition sieht dann zB so aus:
<%sani_heating>,<Soll>,<Ist>,<Regler>,<Modus>,<Lock>,<Bat>
.*_Clima:desired-temp,measured-temp,ValvePosition,controlMode,R-globalBtnLock@{getDevice($DEVICE)},<{batAverageLevel($DEVICE)}>



sub batToLevel($) {
    my $device = shift;
    $device = InternalVal($device,"device",$device);
    my $val = ReadingsVal($device,"batteryLevel",0 );
    return '%measure_battery_100@green' if $val > 3.0;
    return '%measure_battery_75@green'  if $val > 2.7;
    return '%measure_battery_50@green'  if $val > 2.4;
    return '%measure_battery_25@orange' if $val > 2.1;
    return '%measure_battery_0@red';
}


Da gelegentlich, gerade im Grenzbereich die Werte auch gerne mal zappeln, nutze ich die myAverage-Funktion die ich irgendwo aus dem Wiki gezogen habe, um das Ergebnis etwas zu glätten.


sub batAverageLevel($) {
    my $device = shift;
    $device = InternalVal($device,"device",$device);
    my $val = myAverage("10800", "FileLog_Battery", "4:$device\\sbatteryLevel::");
    return '%measure_battery_100@green' if $val > 3.0;
    return '%measure_battery_75@green'  if $val > 2.7;
    return '%measure_battery_50@green'  if $val > 2.4;
    return '%measure_battery_25@orange' if $val > 2.1;
    return '%measure_battery_0@red';
}


Ein Beispiel wie es ausschaut ist angehängt.

kvo1

Hi moemoe,

sieht hut aus  ;)
woher hast Du di ecoolen icon´s
könntest Du nach die restlichen attr... posten ?

danke
kvo
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

moemoe

Die Icons sind mitgeliefert ;)

Ich habe hier gerade leider keinen weiteren Zugriff auf die Config und auswendig weiß ich weitere attrs auch nicht.

chris1284

Danke für den Anstoss, nette Idee, gleich mal umgesetzt (aber ohne myUtils  :) )

kvo1

ZitatDie Icons sind mitgeliefert ;)

wo liegen diese den ?   :'(

Kannst ja die config später mal posten !

gruss
kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

chris1284

#5
Scroll mal in fhem in einem device ganz nach unte und klick mal 'select icon'  :)

http://www.fhemwiki.de/wiki/Icons

oder im fhem ordner www/images

mfeske

Cool sieht das aus moemoe,

ob das mit meinen Stellreglern auch geht? Wo gibst Du den Code eigentlich ein? In der myUtils?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

kvo1

Zitat von: chris1284 am 19 Dezember 2014, 16:09:09
Scroll mal in fhem in einem device ganz nach unte und klick mal 'select icon'  :)

http://www.fhemwiki.de/wiki/Icons

oder im fhem ordner www/images

schon klar ...... ich habe wohl das falsche Verzeichnis / den falsche Path ... aber in Default stehen die nicht ! ???

attr WEB iconPath default:kvo
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

justme1968

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

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

kvo1

Hallo Andre

danke, ich vermute das es sich hier um  svg-Datei handelt und
diese kann ich nicht , wie vom Chris1284 beschrieben (Scroll mal in fhem in einem device ganz nach unte und klick mal 'select icon')
auswählen (liegt sicher an mir , nur woran).?

kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

justme1968

hast du den link gelesen? da steht was du tun musst um die SVG icons zu bekommen ...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

chris1284

laut wiki müste er die schon haben
ZitatGrundsätzlich sind bei aktuellen fhem-Installationen die meisten Icons standardmäßig aktiviert. Die Ordner default, openautomation und fhemSVG sind standardmäßig aktiviert,
wie bei mir auch zb. die batterie liegt auch in fhemSVG...
da seine clima-channels auch noch climart tr heissen vermute ich eine sehr alste fhem version. ich hatte ja schon in readingsgroup zu einem update geraten.

weisst du obman 2 farben für icons definieren kann? der schwarze rand der oben genommenen batterie ist etwas doof bei schwarzem background. ich habe im svg selbst schon die randfarbe auf weiss gesetzt, wird aber offensichtlich durch fhem überschrieben

kvo1

Zitatda seine clima-channels auch noch climart tr heissen vermute ich eine sehr alste fhem version. ich hatte ja schon in readingsgroup zu einem update geraten.
sorry , aber die Fhem Version ist aktuell.
Das mit dem clima-channels  wird beim Update ja nicht automatisch umgestellt !? nur wenn Du neue RT´s anlegst !

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

justme1968

@chris1284: er hat die icons aber sein iconPath ist falsch:
Zitatattr WEB iconPath default:kvo

man kann nur eine farbe setzen und das ist auch die der umrandung die sonst automatisch style abhängig gesetzt wird.

ich sehe gerade das das bei diesen 5 batterie icons nicht so ist sondern hier die füllfarbe automatisch angepasst wird. das 25% icon wird gar nicht gefüllt. das habe ich eben korrigiert.

wenn die rahmenfarbe nicht zu deinem style passt musst du dir die icons kopieren und die farben anpassen.

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

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

kvo1

Hallo Andre, chris1284

Zitat von: justme1968 am 19 Dezember 2014, 16:52:57
hast du den link gelesen? da steht was du tun musst um die SVG icons zu bekommen ...

klar hatte ich den Link gelesen, hat das Problem auch erkannt.

Ich habe meine WEB-Definitionen (auch WEBphone  und WEBtablet) in einen web.cfg ausgelagert und
per include geladen.

Dort steht        attr WEB iconPath fhemSVG:openautomation:default:icons_small    ... was aber nicht geladen wird.

Wenn ich das in die fhem.cfg packe, dann tut´s !

Danke nochmal !
Klaus

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

chris1284

danke andre! noch besser war die Kontur in Pfad umzuwandeln, nun passt sich das ganze icon an.
ich habe die geänderten mal angehängt

kvo1

Hi chris1284,

das sieht echt Super COOL aus , ich bin begeistert , hätte ich auch gern so.

Würdest Du die RG hier bereitstellen ?

gruss
kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

justme1968

@chris1284: dafür war ich zu faul :). habe deine version eingecheckt.

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

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

chris1284

@andre: danke

@kv01: gerne. hier der auszug aus der fhem.cfg da ich keine myUtils nutze ist der define recht "komplex" oder auch unübersichtlich  ;D


define HeizungRg readingsGroup <%sani_heating>,<>,<Soll>,<>,<Soll neu>,<>,<Ist>,<>,<Ventil>,<>,<Modus>,<>,<Batterie>,<>,<Boost>,<>,<Auto On>,<>,<Manu On>\
.*._Clima:,<>,desired-temp,<>,<sollsetz>,<>,measured-temp,<>,ValvePosition,<>,controlMode,<>,<{if(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=3.0){"%my_battery_100\@green"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=2.7){"%my_battery_75\@green"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=2.5){"%my_battery_50\@green"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=2.2){"%my_battery_25\@orange"}else{"%my_battery_0\@red"}}>,<>,<%sani_heating_boost>,<>,<%sani_heating_automatic>,<>,<%sani_heating_manual>
attr HeizungRg commands {'HeizungRg.sollsetz'=>'desired-temp:5.0,16.0,18.0,19.0,20.0',"HeizungRg.sani_heating_boost"=>"set %DEVICE controlMode boost","HeizungRg.sani_heating_automatic"=>"set %DEVICE controlMode auto","HeizungRg.sani_heating_manual"=>"set %DEVICE controlMode manual"}
attr HeizungRg fp_02_Heizung 75,125,0,
attr HeizungRg mapping {az_hz_Clima => "Büro",bz_hz_Clima => "Bad",ku_hz_Clima=> "Küche",sz_hz_Clima=> "SZ",wz_hz_Clima=> "WZ",'desired-temp' => ''}
attr HeizungRg nameStyle style="text-align:left;;"
attr HeizungRg noheading 1
attr HeizungRg nolinks 1
attr HeizungRg room 30_Heizung,99_Floorplans
attr HeizungRg valueFormat {if(($READING eq "measured-temp")or( $READING eq "desired-temp") ){ "$VALUE °C"}elsif(($READING eq "ValvePosition" && $VALUE ne "0")){$VALUE = 1}}
attr HeizungRg valueIcon {'controlMode.manual' => 'sani_heating_manual','controlMode.auto' => 'sani_heating_automatic','ValvePosition.0' => 'sani_heating@blue','ValvePosition.1' => 'sani_heating@red'}

kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

coolice

#20
Zitat von: chris1284 am 19 Dezember 2014, 19:47:33
danke andre! noch besser war die Kontur in Pfad umzuwandeln, nun passt sich das ganze icon an.
ich habe die geänderten mal angehängt
Guten Abend,

habe die RG gleich mal bei mir eingepflegt und sieht schon ganz gut aus. Funktionieren tut alles soweit. Das einzige was fehlt sind die Bezeichnungen der Thermostate. Habe das og. Script meiner Knorrig angepasst. Hab ich etwas falsch gemacht.

define HeizungRg readingsGroup <%sani_heating>,<>,<Soll>,<>,<Soll neu>,<>,<Ist>,<>,<Ventil>,<>,<Modus>,<>,<Batterie>,<>,<Boost>,<>,<Auto On>,<>,<Manu On>\
.*._Clima:,<>,desired-temp,<>,<sollsetz>,<>,measured-temp,<>,ValvePosition,<>,controlMode,<>,<{if(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=3.0){"%my_battery_100\@green"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=2.7){"%my_battery_75\@green"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=2.5){"%my_battery_50\@green"}elsif(ReadingsVal(substr("$DEVICE",0,length("$DEVICE")-6),"batteryLevel","0")>=2.2){"%my_battery_25\@orange"}else{"%my_battery_0\@red"}}>,<>,<%sani_heating_boost>,<>,<%sani_heating_automatic>,<>,<%sani_heating_manual>
attr HeizungRg commands {'HeizungRg.sollsetz'=>'desired-temp:5.0,16.0,18.0,19.0,20.0,21.0,22.0',"HeizungRg.sani_heating_boost"=>"set %DEVICE controlMode boost","HeizungRg.sani_heating_automatic"=>"set %DEVICE controlMode auto","HeizungRg.sani_heating_manual"=>"set %DEVICE controlMode manual"}
attr HeizungRg mapping {HZ.Kueche_Clima => "Küche", HZ.Wohnzimmer_Clima => "Wohnzimmer", HZ.TV_Clima=> "TV", HZ.Bad_Clima=> "Bad", HZ.Marvin_Clima=> "Marvin", 'desired-temp' => ''}
attr HeizungRg nameStyle style="text-align:left;;"
attr HeizungRg noheading 1
attr HeizungRg nolinks 1
attr HeizungRg room Heizung
attr HeizungRg valueFormat {if(($READING eq "measured-temp")or( $READING eq "desired-temp") ){ "$VALUE °C"}elsif(($READING eq "ValvePosition" && $VALUE ne "0")){$VALUE = 1}}
attr HeizungRg valueIcon {'controlMode.manual' => 'sani_heating_manual','controlMode.auto' => 'sani_heating_automatic','ValvePosition.0' => 'sani_heating@blue','ValvePosition.1' => 'sani_heating@red'}

kvo1

Wie schaut es denn aus , wenn Du

Zitatattr HeizungRg mapping {HZ.Kueche_Clima => "Küche", HZ.Wohnzimmer_Clima => "Wohnzimmer", HZ.TV_Clima=> "TV", HZ.Bad_Clima=> "Bad", HZ.Marvin_Clima=> "Marvin", 'desired-temp' => ''}

mal wegläst ?

Du kannst ja auch ein alias für jeden Kanal (hier 4) definieren
also ein alias Namens Küche für HZ.Kueche_Clima.

gruss
kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

coolice

Guten Morgen,

danke die Namen sind jetzt drin doch leider auch desired Temp. Bekomme ich das irgendwie weg?

chris1284

über das mapping
attr HeizungRg mapping {'desired-temp' => ''}

coolice


justme1968

@coolice:
Zitatattr HeizungRg mapping {HZ.Kueche_Clima => "Küche", HZ.Wohnzimmer_Clima => "Wohnzimmer", HZ.TV_Clima=> "TV", HZ.Bad_Clima=> "Bad", HZ.Marvin_Clima=> "Marvin", 'desired-temp' => ''}

die keys (das was jeweils links vom => operator steht) müssen in anführungszeichen stehen. also so:attr HeizungRg mapping {'HZ.Kueche_Clima' => "Küche", 'HZ.Wohnzimmer_Clima' => "Wohnzimmer", 'HZ.TV_Clima'=> "TV", 'HZ.Bad_Clima'=> "Bad", HZ.Marvin_Clima=> "Marvin", 'desired-temp' => ''}

die einzige ausnahme ist wenn dort ein string steht der mit einem buchstaben beginnt und nur buchstaben und zahlen enthält.

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

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

kvo1

Hallo Andre,

danke für den Tipp, hätte ich letztens brauchen können , habe das dann halt über die alias gelöst, nicht sooo elegant!

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

PichlAlex

gibt es auch noch andere Devices bei denen man die Spannung der Batterie bekommt?

... oder ist das Heizkörperthermostat bisher das einzige?

hexenmeister

Mindestens Wandthermostate liefern auch die aktuelle Spannung.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

hexenmeister

#30
Danke für die Ideen ;)
Ich habe etwas weitergebastelt, um auch meine Wandthermostate miteinbeziehen.
Bei Interesse poste ich auch den Code.

(http://forum.fhem.de/index.php?action=dlattach;topic=27399.0;attach=24068;image)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

justme1968

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

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

hexenmeister

Ach, herrje... Na für so gelungen habe ich es auch nicht gehalten. ???
Aber gut, mache ich. Die (eigenerstellten) Icons soll ich dann wohl am besten einchecken... Unter fhemSVG?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

justme1968

auch ohne gelungen zu sein zeigt es was alles geht :)

im ernst: ich glaube es ist ein gutes beispiel weil es ganz unterschiedlcihe dinge mischt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

justme1968

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

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


moemoe

Zitat von: hexenmeister am 30 Dezember 2014, 23:11:21
Bitt' schön ;)
http://www.fhemwiki.de/wiki/ReadingsGroup#Heizungsteuerung_f.C3.BCr_HM_Wand-_und_Heizk.C3.B6rperthermostate

Icons checke ich noch ein.

Sehr hübsch, um das erweitert, wofür ich bisher noch keine Zeit gefunden habe ;)

(Nebenbei finde ich es interessant, dass der Thread 3 Monate gammelt und dann auf einmal so Leben bekommt. Dachte schon das interessiert keinen...)

kvo1

Hi Alex,

super Beispiel, und danke auch für den Wiki-Eintrag.

@moemoe: manchmal braucht´s eben nur einen keinen Anstoss (von Dir und chris1284)
                    und so tolle Dinge wir Andre´s readingsGroup.

werd dann meine Konfig auch noch etwas aufhübschen ;)
Da geht bestimmt noch vieles andere !

gruss
klaus


RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

hexenmeister

Danke für die Blümen ;)

Ich will bei Gelegenheit noch Fensterstatus einbauen und Boost-Befehl. Werde ggf. WIKI aktualisieren.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kvo1

Hi Alex
eines ist mir noch unklar. Schaltest Du mit

"controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual",

jeweils zwischen manual und auto um ?

gruss
klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

hexenmeister

Frohes Neues! :)

Zitat von: kvo1 am 31 Dezember 2014, 18:03:32
Schaltest Du mit
[...]
jeweils zwischen manual und auto um ?

Genau so ist es. Immer von aktuellem zum jeweils anderen Zustand wechseln.
Zunächst hatte ich noch vor, hier auch noch Boost mit einzubeziehen, dann war mir dass dann doch zu unübersichtlich.

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kvo1

Hi Alex,
Die und allen anderen hier ..ebenfalls frohes Neues Jahr und viele gute Ideen.

Ich hatte / habe das bisher so wie es Chris1284 vorgestellt hat, aber Deine Variante ist
im Hinblick auf die Übersichtlichkeit vielleicht besser. Boost brauche ich eigentlich nicht, zumindest
fällt mir da kein Anwendungsfall ein.

Gruß klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

chris1284

Zitat
"controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual",

Danke Hexenmeister, dank dem snipped konnte ich 2 spalten bei mir rausnehmen. manchmal denkt man doch etwas kompliziert.

@kv01: dann nimm einfach boost raus :-)


kvo1

Zitat@kv01: dann nimm einfach boost raus :-)

habe / hatte ich garnicht erst drin ;-)

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

mfeske

Hallo zusammen,

der Wiki Artikel, hat das sogar für einen Newbi verständlich gemacht, auch wenn ich die Details nicht verstehe :-(

Wäre es sehr kompliziert das ganze auch für Max Stellantriebe zu nutzen? Ich vermute allerdings das diese nicht so komfortabel den Batteriestand übersenden ? Ich habe auch noch keine Möglichkeit gefunden ein lock zu setzen :-( Vielleicht sollte ich doch von MAX auf HM umsteigen?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

RoBra81

Hallo,

ich habe mal versucht, das nachzubauen und bekomme es für Ventilstellungen unter 10% einfach nicht hin. Sobald ich für diesen Fall eine 0 zurückgebe, steht der vom Ventil gelieferte Wert drin. Gebe ich testweise für diesen Fall einen String "slkdlaskj" zurück, so wird dieser korrekt dargestellt, aber mit der 0 klappt's irgendwie nicht :-( (War das verständlich?)

Ronny

stromer-12

FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

hexenmeister

Zitat von: mfeske am 01 Januar 2015, 21:14:15
Wäre es sehr kompliziert das ganze auch für Max Stellantriebe zu nutzen?
Vemutlich nicht (evtl. mit Einschränkungen), ich habe jedoch keine Max und kenne die Dinger nicht. Kann daher keinen Vorschlag machen.

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: RoBra81 am 01 Januar 2015, 23:18:38
ich habe mal versucht, das nachzubauen und bekomme es für Ventilstellungen unter 10% einfach nicht hin.

Kann ich nachstellen... Ist ja lustig, scheinbar ein Bux im ReadingsGroup. Verstehe nicht wirklich, was da passieren kann.

Also, wenn der Wert aus dem Aktor z.B. 7 ist (also kleiner 10 aber größer 0), dann funktioniert valueFormat {$VALUE=1} wunderbar und setzt brav 1. Ein {$VALUE=0} funktioniert dagegen nicht. Daher klappt meine Rundung (int($VALUE/10)*10) auch nicht und somit auch nicht die Icon-Zuordnung.

Andre, hast Du eine Idee?

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

stromer-12

FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

hexenmeister

Bei mir auch, aber nicht bei 1 bis 9.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Saar1974

#52
Wegen der Ventilstellung von 1-9 habe ich mir mit $VALUE = int(($VALUE+10)/10)*10 geholfen.
Weil ich 0% und 100% explizit (also als separtes Icon) angezeigt bekommen möchte, brauche ich insgesamt 11 unterschiedliche Icons.
Für 90-99%: Ventilstellung benutze ich 'ValvePosition.100' => 'sani_heating_level_100@E50005'
und für 100% Ventilstellung: 'ValvePosition.110' => 'sani_heating_level_100@ff0006' 

Den Code von hexenmeister (Herzlichen Dank dafür!!!) habe ich etwas modifiziert, damit automatisch meine Heizkörperthermostate HM-CC-RT-DN als auch teilweise vorhandenen Wandthermostate HM-TC-IT-WM-W-EU dargestellt werden.
Nun suche ich noch nach einer Möglichkeit, dass bei den Räumen, in denen zusätzlich ein Wandthermostat vorhanden ist, bei den zugehörigen Heizkörperthermostate kein Auswahldialog für <Soll neu> erscheint (siehe Kreise im Screenshot). Ich habe schon einiges ausprobiert, aber leider nicht mal annäherungsweise Erfolge erzielt.

Hat jemand vielleicht eine Idee? Danke!

define heatingInfo readingsGroup <Ferienwohnung>,<Ist>,<Soll>,<Soll neu>,<Ventil/RH>,<Modus>,<Lock>,<Batterie>,<Kommando>,<> \
(CUL_HM_|)HM_(CC_RT_DN_......_Clima|TC_IT_WM_W_EU_......_Climate):measured-temp,desired-temp,<sollsetz>,humidity,ValvePosition,controlMode,R-btnLock@{rg($DEVICE."§device")},batteryLevel@{rg($DEVICE."§device")},state@{rg($DEVICE."§device")},<%getConfig> \
<>,<>,<>,<>,<>,<>,<>,<>
attr heatingInfo cellStyle { "r:1"=>'style="font-weight:bold;;font-size:16px;;color:yellow"',"c:0"=>'style="font-weight:bold"',"c:1"=>'style="font-weight:bold"'}
attr heatingInfo commands {'controlMode' => 'trigger ntfy_rg $DEVICE controlMode', 'R-btnLock' => 'trigger ntfy_rg $DEVICE R-btnLock','heatingInfo.getConfig' => 'set $DEVICE getConfig','heatingInfo.sollsetz'=>'desired-temp:5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0'}
attr heatingInfo mapping { 'desired-temp' => ''}
attr heatingInfo room Ferienwohnung
attr heatingInfo sortDevices 1
attr heatingInfo valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int(($VALUE+10)/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}
attr heatingInfo valueIcon {'controlMode.manual' => 'sani_heating_manual@795CFF', 'controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02', 'humidity'=>'humidity@6FD9FB', 'R-btnLock.on'=>'secur_locked@F7301D', 'R-btnLock.off'=>'secur_open@0CFB0C', 'ValvePosition.0' => 'sani_heating_level_0@002AE0', 'ValvePosition.10' => 'sani_heating_level_10@F8D53D', 'ValvePosition.20' => 'sani_heating_level_20@FF9341','ValvePosition.30' => 'sani_heating_level_30@F17F3F','ValvePosition.40' => 'sani_heating_level_40@E46C3C','ValvePosition.50' => 'sani_heating_level_50@DE3B3A','ValvePosition.60' => 'sani_heating_level_60@A30D2D','ValvePosition.70' => 'sani_heating_level_70@B40A23','ValvePosition.80' => 'sani_heating_level_80@C40619','ValvePosition.90' => 'sani_heating_level_90@D4030F','ValvePosition.100' => 'sani_heating_level_100@E50005','ValvePosition.110' => 'sani_heating_level_100@ff0006','batteryLevel.100' => 'measure_battery_100@0CFB0C','batteryLevel.75' => 'measure_battery_75@42BC0A','batteryLevel.50' => 'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909','batteryLevel.0'=>'measure_battery_0@E50005','controlMode.set_boost' => 'hourglass','controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass','R-btnLock.set_on' => 'hourglass','R-btnLock.set_off' => 'hourglass'}
attr heatingInfo valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'desired-temp',0);;if($t-$d>=1){'style="color:rgb(251,63,11);;"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);;"'}else{'style="color:rgb(12,251,12);;"'}}}
attr heatingInfo valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)","humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH","batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}


Grüße, Heiko

hexenmeister

Genau deswegen (und noch wegen der Reihenfolge) habe ich die Devices manuell angegeben.  :)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

justme1968

schaut mal bitte ob sich bei den problematischen werten 1-9 ein leerzeichen im reading eingeschlichen hat.

ein device wird dann ausgeblendet wenn valueFormat undef zurück gibt. d.h. du kannst dein dein valueFormat so bauen das es bei den HM-CC-RT-DN schaut ob es einen HM-TC-IT-WM-W-EU im gleichen raum gibt und gibst dann undef zurück. wenn du das device trotzdem anzeigen und nur das eine reading auslassen möchtest gibts du z.b. &nbsp; zurück.

sortieren kannst du die devices dann per passendem sortDevices attribut.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

stromer-12

Man kann den Fehler auch provozieren in dem man aus

int($VALUE/10)*10

für Werte zwischen 11 und 19 macht

int(($VALUE-10)/10)*10

Es wird dan valueFormat nicht ausgewertet wenn $VALUE=0 als ergebnis raus kommt
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

stromer-12

Ich habe jetzt erstmal

$VALUE = int($VALUE/10)*10

gegen

$VALUE = sprintf("%d0",$VALUE/10)

ausgetauscht, dadurch wird von 0 bis 9 eine 00 zurückgegeben und die sani_heating_level_0.svg in sani_heating_level_00.svg umbenannt
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

justme1968

ich hab es eben im readingGroup modul repariert.

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

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

Tobias

bekommt man diese tolle Anzeige mit den Icons mit Boardmitteln auch ohne Readingsgroup hin? Also Definition im Device (Hier MAX) selbst
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

readingsGroup sind bordmittel :)

es geht nur mit readingGroup.

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

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

hexenmeister

Habe neue Version aus dem SVN geholt (# $Id: 33_readingsGroup.pm 7403 2015-01-02 10:55:09Z justme1968 $)
Leider habe ich immer noch das gleiche Problem.
Habe zum Testen ein Dummi angelegt und die notwendigen Readings gesetzt:
fhem> l test
Internals:
   NAME       test
   NR         1110
   STATE      ???
   TYPE       dummy
   Readings:
     2015-01-01 23:34:30   R-globalBtnLock on
     2015-01-01 23:32:48   ValvePosition   7
     2015-01-01 23:34:11   batteryLevel    3.0
     2015-01-01 23:34:49   controlMode     boost
     2015-01-01 23:35:34   desired-temp    30.0
     2015-01-01 23:41:29   humidity        0
     2015-01-01 23:35:23   measured-temp   18.0
Attributes:


Im ReadingsGroup habe ich entsprechend eine Zeile ergänzt:
test:desired-temp,<>,measured-temp,ValvePosition,controlMode,R-globalBtnLock,batteryLevel

Es wird leider Zahl 7 angezeigt. valueFormat wird wohl immer noch nicht korrekt ausgewertet :(
Leerzeichen sind im Reading nicht drin.

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Wuppi68

Habe auch einmal meine Heizung verwurstet ...

dargestellt wurden: Wandthermostat (Alt und Neu); alter Stellentrieb (letzte Zeile); neue Stellthermostate (Standalone als auch Autonom); Fensterkontakte

(http://forum.fhem.de/index.php?action=dlattach;topic=27399.0;attach=24204)

meine Definition sieht folgendermaßen aus:

DEF
<%sani_heating>,<Soll>,<Soll neu>,<Ist>,<Ventil / RH>,<Modus>,<G-Lock>,<B-Lock>,<Bat>,<Fenster>
hm.thermo.5.climate:desired-temp,<sollsetz>,measured-temp,humidity,controlMode,R-globalBtnLock@hm.thermo.5,R-btnLock@hm.thermo.5,batteryLevel@hm.thermo.5,state@hm.sec.1
hm.thermo.6.clima:desired-temp,<>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.6,R-btnLock@hm.thermo.6,batteryLevel@hm.thermo.6,<>
hm.thermo.7.clima:desired-temp,<>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.7,R-btnLock@hm.thermo.7,batteryLevel@hm.thermo.7,<>
hm.thermo.4.clima:desired-temp,<sollsetz>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.4,R-btnLock@hm.thermo.4,batteryLevel@hm.thermo.4,state@hm.sec.3
hm.thermo.10.clima:desired-temp,<sollsetz>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.10,R-btnLock@hm.thermo.10,batteryLevel@hm.thermo.10,state@hm.sec.6
hm.thermo.9.clima:desired-temp,<sollsetz>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.9,R-btnLock@hm.thermo.9,batteryLevel@hm.thermo.9,state@hm.sec.5
hm.thermo.1.clima:desired-temp,<sollsetz>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.1,R-btnLock@hm.thermo.1,batteryLevel@hm.thermo.1,<>
hm.thermo.2.clima:desired-temp,<sollsetz>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.2,R-btnLock@hm.thermo.2,batteryLevel@hm.thermo.2,<>
hm.thermo.8.clima:desired-temp,<sollsetz>,measured-temp,ValvePosition,controlMode,R-globalBtnLock@hm.thermo.8,R-btnLock@hm.thermo.8,batteryLevel@hm.thermo.8,state@hm.sec.4
hm.thermo.3.climate:desired-temp,<sollsetz>,measured-temp@hm.thermo.3,humidity@hm.thermo.3,controlMode@hm.thermo.3,<>,R-btnLock@hm.thermo.3,<>,<>
hm.stellantrieb.2:ValveDesired,<>,<>,ValvePosition@hm.stellantrieb.2,<>,<>,<>,battery@hm.stellantrieb.2,<>


Attribute:

commands
{ 'HeizungInfo.sollsetz'=>'desired-temp:5.0,12.0,17.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0', "controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual", "R-globalBtnLock.on"=>"set %DEVICE regSet globalBtnLock off", "R-globalBtnLock.off"=>"set %DEVICE regSet globalBtnLock on", "R-btnLock.on"=>"set %DEVICE regSet btnLock off", "R-btnLock.off"=>"set %DEVICE regSet btnLock on"}
mapping
{'hm.thermo.1.clima'=>"Dusche",'hm.thermo.2.clima'=>"Badezimmer",'hm.thermo.3.climate'=>"Keller",'hm.thermo.4.clima'=>"Küche",'hm.thermo.5.climate'=>"Wohnzimmer",'hm.thermo.6.clima'=>" Regler Fenster",'hm.thermo.7.clima'=>" Regler Tür",'hm.thermo.8.clima'=>"Schlafzimmer",'hm.thermo.9.clima'=>"Arbeit Mitte",'hm.thermo.10.clima'=>"Arbeit Links",'hm.stellantrieb.2'=>"Regler Keller",'desired-temp'=> ""}
valueFormat
{if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10} elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100} elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25} else{$VALUE=0}}}
valueIcon
{'controlMode.manual' => 'sani_heating_manual@795CFF', 'controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02', 'humidity'=>'humidity@6FD9FB', 'R-btnLock.on'=>'secur_locked@F7301D', 'R-btnLock.off'=>'secur_open@0CFB0C', 'R-globalBtnLock.on'=>'secur_locked@F7301D', 'R-globalBtnLock.off'=>'secur_open@0CFB0C','ValvePosition.0' => 'sani_heating_level_0@002AE0', 'ValvePosition.10' => 'sani_heating_level_10@F8D53D','ValvePosition.20' => 'sani_heating_level_20@FF9341', 'ValvePosition.30' => 'sani_heating_level_30@F17F3F','ValvePosition.40' => 'sani_heating_level_40@E46C3C', 'ValvePosition.50' => 'sani_heating_level_50@DE3B3A','ValvePosition.60' => 'sani_heating_level_60@A30D2D', 'ValvePosition.70' => 'sani_heating_level_70@B40A23','ValvePosition.80' => 'sani_heating_level_80@C40619', 'ValvePosition.90' => 'sani_heating_level_90@D4030F','ValvePosition.100' => 'sani_heating_level_100@E50005', 'batteryLevel.100'=>'measure_battery_100@0CFB0C','batteryLevel.75'=>'measure_battery_75@42BC0A', 'batteryLevel.50'=>'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909', 'batteryLevel.0'=>'measure_battery_0@E50005','controlMode.set_boost' => 'hourglass', 'controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass', 'R-globalBtnLock.set_on' => 'hourglass','R-globalBtnLock.set_off' => 'hourglass', 'R-btnLock.set_on' => 'hourglass','R-btnLock.set_off' => 'hourglass','state.closed' => 'fts_window_1w','state.open'=>'fts_window_1w_open@F7301D'}
valueStyle
{if($READING eq "measured-temp") {my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'desired-temp',0);; if($t-$d>=1){'style="color:rgb(251,63,11);;"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);;"'} else{'style="color:rgb(12,251,12);;"'}}}
valueSuffix
{"desired-temp"=>" °C", "measured-temp"=>" °C", "ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)", "humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH", "batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

justme1968

sorry. habe es jetzt richtig gefixed...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Saar1974

@justme1968: Vielen Dank für deine Hinweise. Die von dir vorgeschlagene Vorgehensweise, zu prüfen ob in einem Raum neben dem HM-CC-RT-DN zusätzlich ein HM-TC-IT-WM-W-EU existiert, habe ich zwar nicht hinbekommen, stattdessen habe ich es vorerst über eine alias-Abfrage realisiert: In den Räumen in den sowohl HM-CC-RT-DN als auch HM-TC-IT-WM-W-EU installiert sind, gebe ich dem HM-CC-RT-DN alias den String 'Regler' mit an. Anhand diesem Kriterium erfolgt dann die Ausblendung des Pull-Down-Dialogs.

define heatingInfo readingsGroup <%sani_heating@green>,<Ist>,<Soll>,<Soll neu>,<Ventil/RH>,<Modus>,<Lock>,<Batterie>,<Kommando>,<> \
(CUL_HM_|)HM_(CC_RT_DN_......_Clima|TC_IT_WM_W_EU_......_Climate):measured-temp,desired-temp,<{if(($DEVICE=~/HM_CC_RT_DN/)&&(AttrVal($DEVICE,"alias","none")=~/Regler/)){"&nbsp"}else{"sollsetz"}}>,humidity,ValvePosition,controlMode,R-btnLock@{rg($DEVICE."§device")},batteryLevel@{rg($DEVICE."§device")},state@{rg($DEVICE."§device")},<%getConfig> \
<>,<>,<>,<>,<>,<>,<>,<>
attr heatingInfo cellStyle {"r:1"=>'style="font-weight:bold;;font-size:16px;;color:yellow"',"c:0"=>'style="font-weight:bold"',"c:1"=>'style="font-weight:bold"',"c:9"=>'style="font-weight:bold"'}
attr heatingInfo commands {'controlMode' => 'trigger ntfy_rg $DEVICE controlMode', 'R-btnLock' => 'trigger ntfy_rg $DEVICE R-btnLock','heatingInfo.getConfig' => 'set $DEVICE getConfig','heatingInfo.sollsetz'=>'desired-temp:5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0,28.5,29.0,29.5,30.0'}
attr heatingInfo mapping {'desired-temp' => ''}
attr heatingInfo room 01_Übersicht
attr heatingInfo sortDevices 1
attr heatingInfo valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}
attr heatingInfo valueIcon {'controlMode.manual' => 'sani_heating_manual@795CFF', 'controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02', 'humidity'=>'humidity@6FD9FB', 'R-btnLock.on'=>'secur_locked@F7301D', 'R-btnLock.off'=>'secur_open@0CFB0C', 'ValvePosition.0' => 'sani_heating_level_0@002AE0', 'ValvePosition.10' => 'sani_heating_level_10@F8D53D', 'ValvePosition.20' => 'sani_heating_level_20@FF9341','ValvePosition.30' => 'sani_heating_level_30@F17F3F','ValvePosition.40' => 'sani_heating_level_40@E46C3C','ValvePosition.50' => 'sani_heating_level_50@DE3B3A','ValvePosition.60' => 'sani_heating_level_60@A30D2D','ValvePosition.70' => 'sani_heating_level_70@B40A23','ValvePosition.80' => 'sani_heating_level_80@C40619','ValvePosition.90' => 'sani_heating_level_90@D4030F','ValvePosition.100' => 'sani_heating_level_100@E50005','batteryLevel.100' => 'measure_battery_100@0CFB0C','batteryLevel.75' => 'measure_battery_75@42BC0A','batteryLevel.50' => 'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909','batteryLevel.0'=>'measure_battery_0@E50005','controlMode.set_boost' => 'hourglass','controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass','R-btnLock.set_on' => 'hourglass','R-btnLock.set_off' => 'hourglass'}
attr heatingInfo valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'desired-temp',0);;if($t-$d>=1){'style="color:rgb(251,63,11);;"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);;"'}else{'style="color:rgb(12,251,12);;"'}}elsif($VALUE ~~ /CMDs_pending/ || $VALUE ~~ /CMDs_processing/ || $VALUE ~~ /TIMEOUT/){'style="color:Yellow"'}}
attr heatingInfo valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)","humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH","batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}

define ntfy_rg notify ntfy_rg {rg($EVENT)}


99_myUtils.pm

(Hinweis: HM-CC-RT-DN Firmware 1.4, Änderung bei 'btnLock'  )

sub rg($){
  my @input    = split(/[§\s]+/,shift);
  my $device   = $input[0];
  my $function = $input[1];

if($function eq "device"){
  return InternalVal($device,"device","device error");
}
elsif($function eq "controlMode"){
  my $controlMode = ReadingsVal($device,"controlMode","controlMode error");

  if($controlMode =~ /manual/)
    {fhem("set $device controlMode auto")}
  elsif($controlMode =~ /auto/)
    {fhem("set $device controlMode manual")}
}
elsif($function eq "R-btnLock"){
  my $btnLock = ReadingsVal($device,"R-btnLock","btnLock error");
 
  if($btnLock =~ /off/){
    {fhem("set $device regSet btnLock on")};
    {fhem ("set $device getConfig")}
  }
  elsif($btnLock =~ /on/){
    {fhem("set $device regSet btnLock off")};
    {fhem ("set $device getConfig")}
  };
}
elsif($function eq "state"){
  my $state = Value($device);

  if($state =~ /off/){
    {fhem("set $device on")}
  }
  elsif($state =~ /on/){
    {fhem("set $device off")}
  }
}
}

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kvo1

Zitat von: hexenmeister am 02 Januar 2015, 22:40:42
Vielen Dank! Funktioniert :)

Hallo Alex,
ich glaube Deine Farbzuordnung klappt nicht so ganz (s.Bild)

gruss
klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

hexenmeister

Wieso, was passt denn nicht?
Die verschiedenen Farben bei Batterie und Regler sollten Verlauf darstellen von Grün zu Rot bzw. von Blau zu Rot. Die Einzelfarben kann man bestimmt noch optimieren, habe nur mal schnell ausgewählt.

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Habe gerade festgestellt, dass folgende Definition FHEM komplett und sofort abstürzen lässt:

<%heizung>,<>,<Batterie>,<>,<Ventil>,<>,<Modus>,<>,<Auto On>,<>,<Manu On>,<>,<Ist-Temp.>,<>,<Soll-Temp.>
^(?!FileLog).*._Clima:,<>,batteryLevel@{InternalVal($DEVICE,'device',undef)},<>,ValvePosition,<>,controlMode,<>,<%sani_heating_automatic>,<>,<%sani_heating_manual>,<>,measured-temp,<>,<sollsetz>


Unmatched ( in regex; marked by <-- HERE in m/^batteryLevel@{InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1006.



Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

justme1968

bitte bau mal in zeile 1005 ein log auf $regex ein. da geht beim parsen der zeile etwas schief.

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

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

hexenmeister

Komma ist wohl ein Problem... Die Expression wird anscheinend nicht als Ganzes erkannt.

habe Log eingbaut: Log3 $hash->{NAME}, 3, $hash->{NAME} .": ". "---------> REGEX --->".$regex."<---";
Hier ist die Ausgabe:
2015.01.04 15:24:33.834 3: RG_FAULT: ---------> REGEX ---><---
2015.01.04 15:24:33.835 3: RG_FAULT: ---------> REGEX --->batteryLevel@{InternalVal($DEVICE<---


Und auf Err wieder:
Unmatched ( in regex; marked by <-- HERE in m/^batteryLevel@{InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1006.


Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

justme1968

ein komma darf eigentlich in der liste der readings ausser zum trennen der readings selber gar nicht vorkommen. für die <> ausdrücke kann ich das erkennen und halbwegs automatisch reparieren.

ich muss mal schauen on ich das für die @{...} version auch hin bekomme.

ansonsten statt InternalVal erst mal eine eigene sub aufrufen die nur das DEVICE übergeben bekommt und so ohne komma auskommt.

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

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

kvo1

Zitat von: hexenmeister am 04 Januar 2015, 12:54:12
Wieso, was passt denn nicht?
Die verschiedenen Farben bei Batterie und Regler sollten Verlauf darstellen von Grün zu Rot bzw. von Blau zu Rot. Die Einzelfarben kann man bestimmt noch optimieren, habe nur mal schnell ausgewählt.

Grüße,

Alexander

Hallo Alexander,
die Farben bei Batterie und Regler meinte ich auch nicht , sondern bei "Ist"
15,9 ist blau ... okay
19,5 ist rot  aber dafür ist dann 21,8 grün ?

Oder habe ich einen Denkfehler ?
Gruss
Klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

justme1968

war doch einfacher als gedacht. hab es eben eingecheckt.

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

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

hexenmeister

Zitat von: kvo1 am 04 Januar 2015, 16:20:27
15,9 ist blau ... okay
19,5 ist rot  aber dafür ist dann 21,8 grün ?
Ich habe das so realisiert, dass die Farben die ABweichung von Soll darstellen, Grün: +/- 1 Grad, Blau: mehr als 1 Grad niedriger als Soll, Rot: 1 Grad mehr als Soll.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: justme1968 am 04 Januar 2015, 16:29:52
war doch einfacher als gedacht. hab es eben eingecheckt.

Funktioniert :)
Vielen Dank!
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kvo1

Zitat von: hexenmeister am 04 Januar 2015, 16:47:32
Ich habe das so realisiert, dass die Farben die ABweichung von Soll darstellen, Grün: +/- 1 Grad, Blau: mehr als 1 Grad niedriger als Soll, Rot: 1 Grad mehr als Soll.

Verstanden  ;)

Das Modul ist echt genial !
@Andre , danke nochmal dafür
@Alex:   ....dir für Deine Geduld und Hilfe

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

kvo1

Hallo Zusammen,
ich würde gern die Spalten "Batterie" und Ventilöffnung" rechtsbündig formatieren ,
ist mir aber bisher weder mit   valueStyle  noch mit cellstyle  gelungen ! Geht das überhaupt (wenn ICON + Wert)?

die bisherige Formatierung schaut so aus

attr heatingInfo2 valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}
attr heatingInfo2 valueIcon {'controlMode.manual' => 'sani_heating_manual@lightgreen','controlMode.auto' => 'sani_heating_automatic', 'controlMode.boost' => 'sani_heating_boost@FB0C02','ValvePosition'=>'ValvePosition@6FD9FB', 'ValvePosition.0' => 'Heizung.0%','ValvePosition.10' => 'Heizung.10%','ValvePosition.20' => 'Heizung.20%','ValvePosition.30' => 'Heizung.30%','ValvePosition.40' => 'Heizung.40%','ValvePosition.50' => 'Heizung.50%','ValvePosition.60' => 'Heizung.60%','ValvePosition.70' => 'Heizung.70%','ValvePosition.80' => 'Heizung.80%','ValvePosition.90' => 'Heizung.90%','ValvePosition.100' => 'Heizung.100%','batteryLevel.100'=>'measure_battery_100@0CFB0C','batteryLevel.75'=>'measure_battery_75@42BC0A','batteryLevel.50'=>'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909','batteryLevel.0'=>'measure_battery_0@E50005','controlMode.set_boost' => 'hourglass','controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass','R-globalBtnLock.set_on' => 'hourglass','R-globalBtnLock.set_off' => 'hourglass'}
attr heatingInfo2 valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'desired-temp',0);;if($t-$d>=1){'style="color:rgb(251,63,11);;"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);;"'}else{'style="color:rgb(12,251,12);;"'}}}


gruss
kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Domjo75

Hallo,
ich habe mal versucht das Codeschnispel in meine CFG einzubauen. Irgendwie bin ich zu blöd dazu. Bei mir ist immer nur die Überschrift zu sehen. Kann mir hier jemand auf die Sprünge helfen? Ich bin blutiger Anfänger und möchte gerne verstehen was ich falsch mache.

Beste Grüße

Wuppi68

Ohne Glaskugel geht das ganze nicht ....

zeig uns was Du hast ...

mach ein LIST von dem Device und zeige die Fehlermeldung :-)
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Domjo75

Guten Morgen,
sorry, hat ein bisschen gedauert. Jeden Abend nach der Arbeit am PC rumhängen gibt irgendwann Ärger  ;D

Ich habe einen HM-Lan Adapter und zwei HM-CC-RT-DN. FHEM läuft auf einem RASPI.
Die Thermostate habe ich umbenannt in wz_HeizungEssen bzw. wz_HeizungSofa. Der Channel_04 heisst jeweils Heizung_Essen und Heizung_Sofa. Das kann man bestimmt auch schöner machen und ich denke da liegt auch das Problem.

Internals:
   DEF        3B0D81
   HMLAN1_MSGCNT 1360
   HMLAN1_RAWMSG E3B0D81,0000,1DF551AF,FF,FFB8,0C86103B0D810000000A9CD1100200
   HMLAN1_RSSI -72
   HMLAN1_TIME 2015-11-20 07:43:30
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     1360
   NAME       wz_HeizungEssen
   NR         51
   STATE      CMDs_done
   TYPE       CUL_HM
   channel_01 HM_3B0D81_Weather
   channel_02 HM_3B0D81_Climate
   channel_03 HM_3B0D81_WindowRec
   channel_04 Heizung_Esstisch
   channel_05 HM_3B0D81_ClimaTeam
   channel_06 HM_3B0D81_remote
   lastMsg    No:0C - t:10 s:3B0D81 d:000000 0A9CD1100200
   protLastRcv 2015-11-20 07:43:30
   protSnd    29 last_at:2015-11-19 13:05:03
   protState  CMDs_done
   rssi_at_HMLAN1 max:-64 avg:-72.1 lst:-72 cnt:1360 min:-93
   Readings:
     2015-11-17 23:22:37   Activity        alive
     2015-11-17 23:30:29   CommandAccepted yes
     2015-11-13 09:37:59   D-firmware      1.4
     2015-11-13 09:37:59   D-serialNr      MEQ0450562
     2015-11-17 23:20:32   PairedTo        0x2CD8CD
     2015-11-13 09:41:14   R-backOnTime    10 s
     2015-11-13 09:41:14   R-burstRx       on
     2015-11-13 09:41:14   R-cyclicInfoMsg on
     2015-11-13 09:41:14   R-cyclicInfoMsgDis 0
     2015-11-13 09:41:14   R-pairCentral   0x2CD8CD
     2015-11-17 23:20:32   RegL_00:        01:01 02:01 09:01 0A:2C 0B:D8 0C:CD 0E:0A 0F:01  11:00 12:15 16:01 18:00 19:00 1A:00 00:00
     2015-11-20 07:43:30   actuator        2
     2015-11-15 21:19:31   battery         ok
     2015-11-20 07:43:30   batteryLevel    3.1
     2015-11-20 07:43:30   desired-temp    19.5
     2015-11-20 07:43:30   measured-temp   20.9
     2015-11-20 07:43:30   motorErr        ok
     2015-11-19 13:05:03   state           CMDs_done
     2015-11-19 13:05:03   time-request    -
     Regl_07::
       VAL
   Helper:
     HM_CMDNR   12
     PONtest    1
     cSnd       012CD8CD3B0D810603,012CD8CD3B0D8106040000000001
     mId        0095
     rxType     140
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +3B0D81,00,00,00
       nextSend   1448001810.62029
       prefIO
       rxt        2
       vccu
       p:
         3B0D81
         00
         00
         00
     Mrssi:
       mNo        0C
       Io:
         HMLAN1     -70
     Prt:
       bErr       0
       sProc      0
       sleeping   1
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       dev        1
       prs        1
     Rssi:
       At_hmlan1:
         avg        -72.1014705882354
         cnt        1360
         lst        -72
         max        -64
         min        -93
     Shregw:
       07         04
Attributes:
   IODev      HMLAN1
   actCycle   000:10
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.4
   icon       sani_heating_temp
   model      HM-CC-RT-DN
   serialNr   MEQ0450562
   subType    thermostat
   webCmd     getConfig:clear msgEvents:burstXmit


Wäre schön, wenn Ihr mir weiterhelfen könntet. Das Codesnipped habe ich inzwischen wieder gelöscht. Ich kann es aber nochmal zusammen basteln.

LG
Dominik

Domjo75

Hallo zusammen,

ich hab´s dann auch endlich mal geschafft weiter zu probieren. Leider bekomme ich das nicht hin. Ich glaube mir fehlt hier was grundsätzliches.
Hier mal mein Eintrag in der Config:
#ReadingsGoup anlegen.
define heatingInfo readingsGroup <%sani_heating>,<Soll>,<Soll neu>,<Ist>,<Ventil / RH>,<Modus>,<Lock>,<Bat>\HM_3B0D81_Climate:desired-temp,<sollsetz>,measured-temp,humidity,controlMode,R-globalBtnLock@HM_3B0D81_Climate,batteryLevel@HM_3B0D81_Climate\<>,<>,<>,<>,<>,<>,<>,<> \
#eg_wz_wt01

#Schrift fett setzen etc.
attr heatingInfo cellStyle { "r:1"=>'style="font-weight:bold;;font-size:16px"',"r:2,c:0"=>'style="font-weight:bold"',"r:6,c:0" =>'style="font-weight:bold"',"r:9,c:0"=>'style="font-weight:bold"',"r:12,c:0"=>'style="font-weight:bold"'}

#Heizungssteuerung ermöglichen
attr heatingInfo commands {'heatingInfo.sollsetz'=>'desired-temp:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0',"controlMode.manual"=>"set %DEVICE controlMode auto","controlMode.auto"=>"set %DEVICE controlMode manual","R-globalBtnLock.on"=>"set %DEVICE regSet globalBtnLock off","R-globalBtnLock.off"=>"set %DEVICE regSet globalBtnLock on"}

#Gewünschte Namen definieren.
attr heatingInfo mapping {HM_3B0D81_Climate=>"Wohnzimmer",'desired-temp' => }

#Werte vorformatieren (für die Icon-Zuordnung).
attr heatingInfo valueFormat {if($READING eq "ValvePosition" && $VALUE ne "0"){$VALUE = int($VALUE/10)*10}elsif($READING eq "batteryLevel"){if($VALUE>=3){$VALUE=100}elsif($VALUE>=2.7){$VALUE=75}elsif($VALUE>=2.5){$VALUE=50}elsif($VALUE>=2.2){$VALUE=25}else{$VALUE=0}}}

#Icons zuordnen.
attr heatingInfo valueIcon {'controlMode.manual' => 'sani_heating_manual@795CFF','controlMode.auto' => 'sani_heating_automatic@FFC13A', 'controlMode.boost' => 'sani_heating_boost@FB0C02','humidity'=>'humidity@6FD9FB', 'R-globalBtnLock.on'=>'secur_locked@F7301D','R-globalBtnLock.off'=>'secur_open@0CFB0C','ValvePosition.0' => 'sani_heating_level_0@002AE0','ValvePosition.10' => 'sani_heating_level_10@F8D53D','ValvePosition.20' => 'sani_heating_level_20@FF9341','ValvePosition.30' => 'sani_heating_level_30@F17F3F','ValvePosition.40' => 'sani_heating_level_40@E46C3C','ValvePosition.50' => 'sani_heating_level_50@DE3B3A','ValvePosition.60' => 'sani_heating_level_60@A30D2D','ValvePosition.70' => 'sani_heating_level_70@B40A23','ValvePosition.80' => 'sani_heating_level_80@C40619','ValvePosition.90' => 'sani_heating_level_90@D4030F','ValvePosition.100' => 'sani_heating_level_100@E50005','batteryLevel.100'=>'measure_battery_100@0CFB0C','batteryLevel.75'=>'measure_battery_75@42BC0A','batteryLevel.50'=>'measure_battery_50@F5FF10','batteryLevel.25'=>'measure_battery_25@FB5909','batteryLevel.0'=>'measure_battery_0@E50005','controlMode.set_boost' => 'hourglass','controlMode.set_auto' => 'hourglass','controlMode.set_manual' => 'hourglass','R-globalBtnLock.set_on' => 'hourglass','R-globalBtnLock.set_off' => 'hourglass'}

#Farben (zu kalt: blau, zu warm: rot, ok: grün).
attr heatingInfo valueStyle {if($READING eq "measured-temp"){my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'desired-temp',0);;if($t-$d>=1){'style="color:rgb(251,63,11);;"'}elsif($t-$d<=-1){'style="color:rgb(79,58,251);;"'}else{'style="color:rgb(12,251,12);;"'}}}

#Messeinheiten und Zahlenwerte.
attr heatingInfo valueSuffix {"desired-temp"=>" °C", "measured-temp"=>" °C","ValvePosition"=>" (".ReadingsVal($DEVICE,$READING,0)." %)","humidity"=>" ".ReadingsVal($DEVICE,$READING,0)." % RH","batteryLevel"=>" (".ReadingsVal($DEVICE,$READING,0)." V)"}


Das Einzige was ich sehe ist ein heatingInfo

Ich sehe den Fehler nicht und würde es gerne verstehen.  :(

Domjo75

Guten Morgen,
fehlt Euch noch irgendwas, oder bin ich einfach zu ungeduldig?
:)

Domjo75

Ich hatte am Wochenende Zeit und hatte wohl auch einen Geistesblitz. Jedenfalls hab ich´s hinbekommen :) Nur die Tastensperre bekomme ich nicht angezeigt

kvo1

Hallo

ist ... HM_3B0D81_Climate  das Device selbst oder cannel 02 ?? (das "_Climate"  deutet m.E. auf cannel 02 hin)

die Tastensperre geht doch auf das Device ??

http://www.fhemwiki.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Domjo75

Hi,
das ist Channel02.
Also ich hab´s nicht hinbekommen mit der Tastensperre. Laut diesem Forumseintrag, ist es z.Zt. nicht möglich die Readings auszulesen.
http://forum.fhem.de/index.php/topic,42535.0.html
Das wäre natürlich das Sahnehäubchen. Wenn ich es nicht sofort hinbekomme, ist das aber auch kein Beinbruch :)

chr2k

Zitat von: moemoe am 26 September 2014, 12:28:14
Ich wollte in meinen Reading-Groups nicht nur stumpf den Batteriezustand darstellen, sondern wenn die HM-CC-RT-DN schon eine Spannung liefern, diese etwas aufbereiteter darstellen.


Nur zum Verständnis:
Die Heizkörper Thermostate liefern als Reading die Batteriespannung?

kvo1

Zitat von: chr2k am 24 Dezember 2015, 14:58:15
Nur zum Verständnis:
Die Heizkörper Thermostate liefern als Reading die Batteriespannung?
Ja genau, es gibt am Device selbst zwei Readings

battery   liefert einen Status
batteryLevel liefert die Spannung

Gruß
Kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB