Autor Thema: RSS Anzeige soll nur einen Wert anzeigen  (Gelesen 6524 mal)

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3354
  • Online
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #15 am: 26 Juli 2016, 23:55:21 »
So ein wenig habe ich noch etwas verändert und kleine Erfolge
Der Code sieht nun so aus
# Status RollladenWZT Oben - Offen
condition { ReadingsVal('RollladenWZT','state','none') =~ m/^on$/ }
rgb 00FA9A  # MediumSpringGreen
moveby 0 25
#text x y { "Test AUF" }
text x y { "Oben - Offen" }

# Status RollladenWZT Geschlossen
condition { ReadingsVal('RollladenWZT','state','none') =~ m/^off$/ }
rgb 2E64FE  # blau
moveby 0 25
text x y { "Geschlossen" }

# Status RollladenWZT Schatten 50%
condition { ReadingsVal('RollladenWZT','state','none') =~ m/^50$/ }
rgb 2E64FE  # blau
moveby 0 25
text x y { "Beschattung" }
condition 1


was mir jetzt immer noch Probleme bereitet ist wenn ich jetzt alle numerischen Werte also ob nun 50% 80% usw. mit folgenden Code abfrage:
condition { ReadingsVal('RollladenWZ','state','none') =~ m/\d\d/ }
rgb 00FA9A  # MediumSpringGreen
moveby 0 25
text x y { "Zwischenstellg." }

schreibt er eben wenn ich jetzt auf z.B. 50% stehe das ganze zweimal hin, weil ich ja die 50% als Beschattung anzeige.
Weiß aber nicht wie ich das jetzt anders machen soll.
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline Hollo

  • Hero Member
  • *****
  • Beiträge: 1392
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #16 am: 27 Juli 2016, 12:14:16 »
Das on/off kannst Du doch mittels der ebenfalls vorhandenen Prozentangabe umgehen.
Alternativ auch über Eventmap auf 100% bzw. 0% ändern!?

Dementsprechend würde ich die conditions aufbauen...

Wert >=98 dann offen
Wert <=2 dann zu
Wert ist >2 UND <98 UNDNICHT 50 dann Zwischenstellung
Wert =50 dann Beschattung

Dann hast Du nie 2 Bedingungen, die gleichzeitig gültig sind

FHEM 5.9 auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16064
  • s/fhem\.cfg/configDB/g
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #17 am: 27 Juli 2016, 13:38:46 »
Mach Dir das Leben doch nicht so kompliziert und denke mal über den Tellerrand hinaus...

Im rss Layout:


condition 1
rgb { rss_rollo_rgb('RollladenWZT'); }
moveby 0 25
text x y { rss_rollo_val('RollladenWZT'); }



In der 99_myUtils.pm:


sub rss_rollo_val($) {
  my ($rollo) = @_;
  my $val     = ReadingsVal($rollo,'state','none');
  return "Oben - Offen" if ($val eq 'on');
  return "Geschlossen"  if ($val eq 'off');
  return "Beschattung"  if ($val eq '50');
  return $val;
}

sub rss_rollo_rgb($) {
  my ($rollo) = @_;
  my $val     = ReadingsVal($rollo,'state','none');
  return "00FA9A" if ($val eq 'on');
  return "2E64FE";
}


Und schon kannst Du soviele Rollläden und soviele Zwischenstufen abkaspern, wie Du möchtest, ohne Dir die Finger wund zu tippen.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline Hollo

  • Hero Member
  • *****
  • Beiträge: 1392
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #18 am: 27 Juli 2016, 16:28:35 »
Das ist mal ne Lösung.   :o
Ich wusste gar nicht, dass man innerhalb des Layouts bzw. der condition auch einen Funktionsaufruf machen kann.   8)

Grübel, grübel...
Das könnte ich glatt für meine Multimedia-Spalte einsetzen, da ich das gerade "spielende" Gerät eh für die Lautstärkefunktion ermittel.
Würde das ja evtl. echt vereinfachen.
FHEM 5.9 auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3354
  • Online
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #19 am: 27 Juli 2016, 17:52:50 »
Vielen Dank betateilchen  ;)
Mach Dir das Leben doch nicht so kompliziert und denke mal über den Tellerrand hinaus...
Ja, dass setzt natürlich auch jede Menge Perl Kenntnisse voraus, die ich leider nicht habe.
Ein wenig experimentiere ich ja und lese es von anderen Codeschnipsel ab, leider klappt das nicht immer  :-\

Ich werde mal ein wenig damit arbeiten, denn du hast mir ja empfohlen auf InfoPanel zu wechseln, wobei ich diese Dinge dann ja ebenfalls brauche.
Zu dem InfoPanel habe ich schon einige Fragen, aber dazu mache ich dann einen neuen  Beitrag auf. Ich habe da schon gesehen das ich meine layout Dateien nicht 1 zu 1 übernehmen kann.
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16064
  • s/fhem\.cfg/configDB/g
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #20 am: 27 Juli 2016, 18:08:41 »
Ich wusste gar nicht, dass man innerhalb des Layouts bzw. der condition auch einen Funktionsaufruf machen kann.   8)

Kommt davon , wenn man die commandref nicht liest. Da steht sowas nämlich.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019

Offline Hollo

  • Hero Member
  • *****
  • Beiträge: 1392
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #21 am: 28 Juli 2016, 09:42:56 »
Da hast Du wohl recht.
Ich habe das "damals" mit dem RSS-Workshop aufgebaut und seitdem in Betrieb.
Bei Bedarf wird minimal angepasst, aber sonst läuft das Dingen in der Küche seither so.

Da habe ich nicht weiter in die commandref geguckt.  (beschämt nach unten guck).   :-[
FHEM 5.9 auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3354
  • Online
Antw:RSS Anzeige soll nur einen Wert anzeigen
« Antwort #22 am: 28 Juli 2016, 10:04:35 »
Da habe ich nicht weiter in die commandref geguckt.  (beschämt nach unten guck).   :-[
tröste dich mir geht es ähnlich, nur wenn ich mal wieder etwas ändere/verbessere dann fällt mir spät die commanref ein, aber die ist eigentlich immer sehr hilfreich...

Wobei ich diesen speziellen Fall gar nicht gefunden habe...
Aber ich habe jetzt schon die Anzeige so gemacht wie von betateilchen vorgeschlagen, geht super...!  ;)
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

 

decade-submarginal