Homeeasy Dimmer um ein Dimlevel reading erweitern

Begonnen von drdownload, 11 Januar 2016, 21:34:12

Vorheriges Thema - Nächstes Thema

drdownload

Ich überlege gerade wie ich meine Home-Easy Dimmer in Kombination damit Smartvisu um ein eigenes reading und set für das dimlevel erweitern kann.

Da die Dimmer sich auf dem letzten gesetzten Level einschalten (und bei on zB nicht auf dem Höchsten) würde ich gerne ein Reading für das Dimlevel (+DimlevelLast um bei off/on wieder das gleiche Dimlevel zurückzubekommen)

Ob ein OnOffState reading praktisch wäre bin ich noch unschlüssig.

Ich könnte es natürlcih über einen dummy machen und die über notify zusammenhängen, aber netter wäre es bei meinen vielen Dimmer natürlich direkt am Dimmer.

Mit userreadings kenne ich mich nicht so wirklich aus, bin mir deswegen nicht sicher ob man damit ans Ziel kommt.

Bei den vielen Möglichkeiten in FHEM übersehe ich wahrscheinlich etwas.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

drdownload

#1
Ohne es jetzt länger getestet zu haben, habe ich jetzt ein Notify gebaut, dass sich um diese Funktionalität kümmert. (ich bin eine Null in Perl, wenn jemand Verbesserungsvorschläge hat)

schreibtischlampe.licht.wohnzimmer:.* {if ($EVENT eq "off") {
fhem ("setreading $NAME switchState $EVENT");fhem ("setreading $NAME level 0");
}elsif ($EVENT eq "on"){
my $levelLastValue = ReadingsVal("$NAME","levelLast",0);
fhem ("setreading $NAME switchState $EVENT");fhem ("setreading $NAME level $levelLastValue");
}elsif ($EVENT =~ /level/){
my $levelValue = $EVENT;
$levelValue =~ s/[^0-9]//g;
fhem ("setreading $NAME level $levelValue");
fhem ("setreading $NAME levelLast $levelValue");}}
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Puschel74

#2
Zitatwenn jemand Verbesserungsvorschläge hat
Code-Tags verwenden  :P

Aber immerhin das DEF und nicht direkt aus der fhem.cfg  :)

Top was du dir erarbeitet hast.

schreibtischlampe.licht.wohnzimmer:.* {
  if ($EVENT eq "off") {
    fhem ("setreading $NAME switchState $EVENT");
    fhem ("setreading $NAME level 0");
  }
  elsif ($EVENT eq "on"){
    my $levelLastValue = ReadingsVal("$NAME","levelLast",0);
    fhem ("setreading $NAME switchState $EVENT");
    fhem ("setreading $NAME level $levelLastValue");
  }
  elsif ($EVENT =~ /level/){
    my $levelValue = $EVENT;
    $levelValue =~ s/[^0-9]//g;
    fhem ("setreading $NAME level $levelValue");
    fhem ("setreading $NAME levelLast $levelValue");
  }
}

Sorry aber so gefallen mir persönlich die Codes besser  :-[
Nein, die Funktionalität ändert sich dadurch nicht - ich finds nur übersichtlicher.
Manche schreiben das auch in eine Zeile.
Ja, die ( und ) nach fhem kann man evtl. auch weglassen - ich lass die auch immer drinnen und Klammer zuviel.
So wie in Mathe - lieber ein Klammerpaar zuviel als zuwenig  :D

Edith: Kurze Frage
switchState setzt du aber du fragst es nicht ab - oder ich habs übersehen - warum?

Edith1: Meinen Beitrag bitte NICHT als Kritik sehen.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

drdownload

#3
Danke, bin ganz stolz ;) wie gesagt Perl habe ich bis jetzt wie der Teufel das Weihwasser vermieden, aber ohne ist es unlustig in FHEM ;)

Das switchState reading war eigentlich für smartvisu gedacht um unabhängig von state eine on-off Info zu haben, aber der Teil funktioniert nicht so wie ich es mir gedacht hätte, dafür funktioniert es auch ohne direkt mit State (wenngleich ich nicht ganz verstehe wieso ;) )

Nächster Plan ist dann auf Basis meines  FHT8v direkt angesteuert vom PID20 Modul Heizungssetups funktionalität wie bei den HM mit Comfort-Temperaturen etc. nachzubauen + eine bessere Boost-Funktion für frierende Frauen.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,