richtiges State nur durch falsches FS20 Model attr

Begonnen von Deckoffizier, 05 April 2017, 18:52:01

Vorheriges Thema - Nächstes Thema

Deckoffizier

Hallo ins Forum,

starte nochmal einen zweiten Versuch um meinen leidigen Hang zur Perfektion zu befriedigen.

Gibt es bei Gerät  FS20 SIG 2 (Signalgeber) irgendeine Möglichkeit außer der falschen Modellauswahl wie als PIRI oder FS20 dymmy Sender das Lampenicon nicht klick bar zu machen. Also auch kein on off wenn es grau ist.
Mit andern Attributen, Code wie auch immer.

Meine letzte Anfrage hier im Forum in diese Richtung führte leider nicht zu einem Ergebnis.
Ebenso in diesem  älteren Thread  https://forum.fhem.de/index.php/topic,39537.msg317322.html#msg317322
hatte man sich auch vergeblich bemüht.
Wie hier am Ende geschrieben bis zur Meldung  'no Value specified' bin ich auch nur gekommen.

Im FS20 Modul rumfummeln ist mir zu vermessen mit meinem jetzigen Wissenstand.

Möchte gerne Dichtung und Wahrheit beim Gerät FS20SIG in Übereinstimmung bringen.

Gruß
Hans-Jürgen



FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus

DeeSPe

Was hindert Dich daran Dein eigenes devStateIcon zu setzen?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

#2
Gerade an einem dummy getestet!
Bei Klick auf das devStateIcon passiert genau: NICHTS!

define d4 dummy
attr d4 devStateIcon on:on:on off:off:off
attr d4 setList on off


Gruß
Dan

EDIT: devStateIcon kennt auch Perl Code. Im Zweifelsfall schreib Dir eine Funktion die das devStateIcon beeinflusst! ;)
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Deckoffizier

Hallo DeeSPe,

entweder werde ich wie fast immer durch meine schlechte Beschreibung missverstanden....

Also so ganz trivial ist die ganze Sache nicht, erstmal on off  soll es schon mal nicht geben, bekommt man mit webCmd: aber weg.

Aber beim Dummy fehlen mir schon eine ganze Latte set Möglichkeiten gegenüber FS20 SIG vor allem follow_on_for_timer.

Ist leider wie gehabt  noch nicht die Lösung.
Aber Danke trotzdem für Deine Hilfsbereitschaft !

Gruß
Hans-Jürgen
FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus

DeeSPe

Ich kenne mich mit FS20 überhaupt nicht aus.
Und ehrlich gesagt habe ich auch keine Lust noch die anderen Beiträge durchzulesen was Du da schon berichtet hast.
Aber das ist m.E. auch nicht nötig wenn man weiß wie man ein devStateIcon setzen muss.
Wenn das direkt in devStateIcon nicht klappt wie gewünscht, dann mach Dir doch eine Funktion dafür in der 99_myUtils.

Hier mal ein Beispiel aus meinem Hyperion Modul.
Als Attribut ist Folgendes gesetzt:
attr <name> devStateIcon {(Hyperion_devStateIcon($name),"toggle")}
Dazu gehört dann der Code:
sub Hyperion_devStateIcon($;$)
{
  my ($hash,$state) = @_;
  $hash = $defs{$hash} if (ref $hash ne "HASH");
  return undef if (!$hash);
  my $name = $hash->{NAME};
  my $rgb = ReadingsVal($name,"rgb","");
  my $dim = ReadingsVal($name,"dim",10);
  my $ico = (int($dim / 10) * 10 < 10)?10:int($dim / 10) * 10;
  return ".*:off:toggle"
    if (Value($name) eq "off");
  return ".*:light_exclamation"
    if (Value($name) =~ /^(ERROR|disconnected)$/);
  return ".*:light_light_dim_$ico@#".$rgb.":toggle"
    if (Value($name) ne "off" && ReadingsVal($name,"mode","") eq "rgb");
  return ".*:light_led_stripe_rgb@#FFFF00:toggle"
    if (Value($name) ne "off" && ReadingsVal($name,"mode","") eq "effect");
  return ".*:it_television@#0000FF:toggle"
    if (Value($name) ne "off" && ReadingsVal($name,"mode","") eq "clearall");
  return ".*:light_question";
}


Vielleicht wird Dir damit klarer wie ich das meine.
Das muss dann natürlich auf Dein Device angepasst werden.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Deckoffizier

Hallo DeeSPe,

für einen Anfänger wie mich, ist Dein Code erst mal wie Hash mich ich bin der Frühling.
Kleiner Trost für mich, andere habe sich auch schon erfolglos dran versucht.

Habe auch die Befürchtung wenn man Deinen Code als gedankliche Grundlage nimmt, es sich mit anderen einfachen set comands aus anderen code wie notify beisst und daraus dann ein
halber Roman wird.
Wie Du schreibst ist FS20 nicht unbedingt Dein Revier.

Eventuell könnte die gefundene Aussage von Prof. Dr. Peter Henning
Kann man sich sehr leicht im Modul 00_FS20.pm ansehen: die verschiedenen Modelle werden alle auf einen von insgesamt drei möglichen Werten abgebildet: "sender", "dimmer" oder "simple". Je nachdem, welchem dieser 3 Werte das "model" entspricht, wird nur die Liste der zur Verfügung stehenden "set"-Kommandos geändert - sonst nichts. Dass das sonst ohne Bedeutung ist, steht übrigens auch in der Commandref, die von Anfängern offenbar prinzipiell nicht gelesen wird.
##########
eine Fährte sein.
Ein versetzen des fs20sig in einen anderen Bereich der 3 möglichen Werte in der 10_FS20.pm der einfachste Weg sein ?
Aber dies würde ich gerne die Auskenner Fragen.

Bis auf weiteres
Gruß
Hans-Jürgen




FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus