Floorplan- Frage: Wo werden die devicecommands erzeugt?

Begonnen von Biese, 23 Juni 2015, 15:34:34

Vorheriges Thema - Nächstes Thema

Biese

Heyho,

ich bin noch nicht ganz Fit auf dem Gebiet des Floorplans und allgemein in FHEM, daher kann die Frage recht trivial sein, aber ich hoffe dennoch jemand kann mir helfen.

Ich habe mir ein Modul für eine von meinem Vorgänger zusammengefrickelte Jalousienansteuerung gebastelt. (Auch das Modul wirkt noch sehr zusammengefrickelt ;D)
Mit diesem kann ich zwar wunderbar im WebFronted die Jalousie hoch und runter fahren. Aber im Floorplan bekomme ich nur das stateicon angezeigt. Ich kann es auch anklicken, aber dann habe ich nicht die drei Möglichkeiten (hoch, runter, stop) zur Auswahl, sondern nur eine  nämlich (hoch oder runter). Daher wollte ich eine dreier Möglichkeit über die Commands einfügen und dachte, dass sich der Floorplan diese aus dem webCmd des Devices holt. Dies ist leider nicht so und die Command Zeile unter dem Icon bleibt leer. Daher meine Frage, was muss ich in meinem Device oder Modul erzeugen um die Devicecommands im Floorplan zu erzeugen?

Habe jetzt gefühlt den halben Tag damit verbracht, das Forum zu durchstöbern, aber ich glaube inzwischen sehe ich den Wald vor lauter Bäumen nicht mehr.


UliM

Hi,
floorplan sitzt huckepack auf fhemweb. Wenn also fhemweb die commands anzeigt, sollte floorplan das auch tun.
Hast Du für das device im floorplan rinen style gewählt, der auch commands anzeigt?
Gruß Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Biese

Ja, habe alle mal durchprobiert und zuletzt stand der die ganze Zeit auf dem Style 2 (Name+Icon+Commands).

Und bei meinem HM-Powermeter den ich gerade mal eingefügt habe funktioniert es auch wunderbar. Nur bei meinem selbstgeschriebene Device sehe ich keine Commands.
Hmmh.. dann gehe ich mal weiter auf die Suche. Aber bin natürlich für weitere Tipps dankbar.

Biese

Ich habe gerade mal weiter damit rumprobiert und habe ne Entdeckung gemacht, die vielleicht jemand auf eine Lösung bringt.
Nämlich wenn ich angebe webCmd state mit einer dementsprechenden angelegten setList state:up,down,stop, dann bekomme ich webfronted, sowie im Floorplan ein Dropdown Menü mit dem ich auswählen kann. Aber ändere ich das zurück ( webCmd up:down:stop) dann bekomme nur im webfronted die Kommandos zu sehen und nicht im Floorplan.

Was kann das sein?

Talkabout

Zitat von: Biese am 24 Juni 2015, 14:14:40
Ich habe gerade mal weiter damit rumprobiert und habe ne Entdeckung gemacht, die vielleicht jemand auf eine Lösung bringt.
Nämlich wenn ich angebe webCmd state mit einer dementsprechenden angelegten setList state:up,down,stop, dann bekomme ich webfronted, sowie im Floorplan ein Dropdown Menü mit dem ich auswählen kann. Aber ändere ich das zurück ( webCmd up:down:stop) dann bekomme nur im webfronted die Kommandos zu sehen und nicht im Floorplan.

Was kann das sein?
Kannst Du mal bitte das "define" Deines Gerätes posten?

Gruss

Biese

Heyho,

Irgendwie werde ich langsam nicht mehr ganz so schlau aus FHEM, denn als ich in der Richtung Kommandos im Floorplan einbinden nicht mehr weiter kam, habe ich mich auf andere Baustellen gestürzt. Als ich mich dann dem Problem wieder zuwenden wollte, konnte ich die Kommandos im Floorplan plötzlich sehen und zumindest für die Rollladen hat sich das Problem erledigt.

Ich weiß leider absolut gar nicht warum das nun so ist und kann das auch nicht rekonstruieren. Da ich eigentlich nur damit zu tun hatte eine Wettervorhersage bzw. Wetterwarnung im Floorplan einzubeziehen und dabei irgendwas passiert sein muss. 
Wäre schön zu wissen was das nun war, da ich wahrscheinlich noch mehrere selbst erstellte Module bzw. Geräte einbeziehen muss.

Ich weiß gerade nicht ganz, was mit "define" gemeint ist:
Also ich habe mir ja ein eigenes Modul geschrieben, damit ich die Kommunikation mit meinen Aktoren hinbekomme. Und dafür habe ich mir das dummy Modul als Grundlage genommen, aber  habe an dem  "define" im Modul nichts verändert. Dementsprechend sieht auch die define-Zeile meines Gerätes in der fhem.cfg  recht unspektakulär aus:  define roll rollladen


sub
rollladen_Define($$)
{
  my ($hash, $def) = @_;
  my @a = split("[ \t][ \t]*", $def);

  return "Wrong syntax: use define <name> rollladen" if(int(@a) != 2);
  return undef;;
}

Biese

Ich habe nun das hinbekommen, was ich haben wollte und musste irgendwie tricksen. Denn irgendeine komische Eigenart hat mir das Leben schwer gemacht.
Denn wenn ich das WebCmd so nennen wollte, wie es in der SetList ist. Also bspw. in der SetList steht: up down stop. Dann konnte ich nicht hingehen und als webCmd up:down:stop nehmen. Denn dann sind im Floorplan die Kommandos nicht angezeigt worden.

Daher habe ich nun folgendes gemacht

attr roll eventMap up:Up down:Down stop:Stop
attr WebCmd Up:Down:Stop


und dann sehe ich auch im Floorplan die Kommandos der Geräte.
Das witzige finde ich daran, wenn ich jetzt im Nachgang das eventMap Attribut lösche, dann funktioniert es immer noch. Vielleicht kann mir das ja einer erklären, weshalb das so ist. Ich verstehe das nicht so ganz. :o

Gruß Biese

Talkabout

Hallo,

Du könntest mal den Fix aus diesem Beitrag ausprobieren:

http://forum.fhem.de/index.php/topic,37857.msg305763.html#msg305763

Vielleicht läuft es damit besser.

Gruss