Gelöst: Slider und Farben und andere Nebenwirkungen

Begonnen von draddy, 18 März 2022, 16:39:00

Vorheriges Thema - Nächstes Thema

draddy

schon wieder ich ...
kann ich leftClick und leftLong (analog natürlich right) gleichzeitig einsetzen?


{
"template": "shellyswitch",
"name": "Jens Lampe",
"room": "Jens",
"sortby":"02",

  "setup":
  {
  "status":
{
"bar": ["pct::%n:success"],
"error": ["network:^(?!<html>connected):100:error:keine Verbindung"]
},
 
  "main": [
{
"leftBtn": "mdi-power-off",
"leftClick": ["state::off"],
"leftLong": ["ct:3100:ct %i-100"],
"slider": ["pct::pct %v:%n:0:100:1"],
"rightBtn": "mdi-power-on",
"rightClick": ["state::on"],
"rightLong": ["ct:6400:ct %i 100"]
}],

"info":
{
"left1":["state:on::mdi-lightbulb", "state:off::mdi-lightbulb-off"],
"left2": ["power:0.1:%n.2w"],
"mid1": ["pct::Dim  %n%:"],
"mid2": ["ct::CT %n:"],
"right2": ["network:connected::mdi-wifi","network:::mdi-wifi-off"]

  },
  "panel":
  {
"status": ["state:off::0", "state:on::100"],
"btn": ["state:on:mdi-lightbulb-on", "state:off:mdi-lightbulb-outline"],
"click": ["state:off:on", "state:on:off"]
  }
}


was will ich machen; Es hängt eine Shelly Bulb Duo dran.

einschalten, ausschalten und dimmen über den Slider klappt problemlos.
Jetzt hatte ich die idee, mit long auf links oder rechts könnte ich eventuell noch die Farbtemperatur anpassen - es passiert nur nichts bei Long xD

geht das? nen 2. Slider werde ich ja vermutlich nicht machen können denke ich? xD

lg
Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

jemu75

#1
Zitat von: draddy am 18 März 2022, 16:39:00
schon wieder ich ...
kann ich leftClick und leftLong (analog natürlich right) gleichzeitig einsetzen?


{
"template": "shellyswitch",
"name": "Jens Lampe",
"room": "Jens",
"sortby":"02",

  "setup":
  {
  "status":
{
"bar": ["pct::%n:success"],
"error": ["network:^(?!<html>connected):100:error:keine Verbindung"]
},
 
  "main": [
{
"leftBtn": "mdi-power-off",
"leftClick": ["state::off"],
"leftLong": ["ct:3100:ct %i-100"],
"slider": ["pct::pct %v:%n:0:100:1"],
"rightBtn": "mdi-power-on",
"rightClick": ["state::on"],
"rightLong": ["ct:6400:ct %i 100"]
}],

"info":
{
"left1":["state:on::mdi-lightbulb", "state:off::mdi-lightbulb-off"],
"left2": ["power:0.1:%n.2w"],
"mid1": ["pct::Dim  %n%:"],
"mid2": ["ct::CT %n:"],
"right2": ["network:connected::mdi-wifi","network:::mdi-wifi-off"]

  },
  "panel":
  {
"status": ["state:off::0", "state:on::100"],
"btn": ["state:on:mdi-lightbulb-on", "state:off:mdi-lightbulb-outline"],
"click": ["state:off:on", "state:on:off"]
  }
}


was will ich machen; Es hängt eine Shelly Bulb Duo dran.

einschalten, ausschalten und dimmen über den Slider klappt problemlos.
Jetzt hatte ich die idee, mit long auf links oder rechts könnte ich eventuell noch die Farbtemperatur anpassen - es passiert nur nichts bei Long xD

geht das? nen 2. Slider werde ich ja vermutlich nicht machen können denke ich? xD

lg
Jens

Hallo,

leftClick bzw. leftLong bzw. leftLongRelase sind drei unterschiedliche Events. Jedem dieser Events kannst du ein FHEM Set-Statement zuordnen. Gleiches gilt natürlich auch für right...
Die genaue Beschreibung findest du auch in der Doku unter https://github.com/jemu75/fhemApp#verf%C3%BCgbare-elemente

Wenn du mehrere Slider in einem Template verwenden möchtest, dann könntest du mehrere Ebenen anlegen.


Einen Dimmer könnte man beispielsweise wie folgt konfigurieren: (kurzer Click zum hoch bzw. runter dimmen, länger Click zum ein bzw. Ausschalten)

"main": [
    {
      "leftBtn": "mdi-minus",
      "leftClick": ["pct:10:pct %i-10","pct::off"],
      "leftLong": ["state::off"],
      "text": ["pct:1:an:","pct::aus"],
      "rightBtn": "mdi-plus",
      "rightClick": ["pct:90:on","pct::pct %i10"],
      "rightLong": ["state::on"]
    }
  ],


Wie sieht denn deine Definition für den "longClick" aus?

draddy

hi,

ehm, ja mehrere ebenen habe ich gesehen ... da wäre irgendwie ein lable toll,  oder die Möglichkeit dem slider ne farbe zu geben ...

bzg. leftclick | long ... wenn ich es jetzt richtig verstanden habe, funktioniert das NICHT in Verbindung mit slider!?

so allgemein gefällt mir das mit den 2 ebenen relativ gut, kurzer klick und man kann den anderen wert ändern, "fehlt" eben noch die Möglichkeit der Unterscheidung wofür der aktuelle Slider ist ;)
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

jemu75

Zitat von: draddy am 18 März 2022, 18:46:18
hi,

ehm, ja mehrere ebenen habe ich gesehen ... da wäre irgendwie ein lable toll,  oder die Möglichkeit dem slider ne farbe zu geben ...

bzg. leftclick | long ... wenn ich es jetzt richtig verstanden habe, funktioniert das NICHT in Verbindung mit slider!?

so allgemein gefällt mir das mit den 2 ebenen relativ gut, kurzer klick und man kann den anderen wert ändern, "fehlt" eben noch die Möglichkeit der Unterscheidung wofür der aktuelle Slider ist ;)

Ja, da hast du Recht. Die Slider sind bisher hauptsächlich für Dimmer ect. gedacht.
Für rgb sind die nicht optimal und ich suche noch nach einem passenden Steuerelement für rgb.
Aber vielleicht ist es ja auch ein guter Ansatz, die slider bunt zu machen und noch eine Art "subtext" hinzuzufügen.

draddy

ja,
wiegesagt, ist ja nur bedingt rgb in meinem fall, (klar könnte man farbtemp so auslegen ...) aber subtext (lable) und oder farbe für den slider wäre perfekt

normaler slider pct, z.B. gelb ct (farbtemp)

[OT:]
allgemein zu farben, sollte ich nicht die icons (buttons) auch einfärben können oder geht das nur nicht mit allen?

das wäre der aktuelle mainpart mit 2 level ... hab gefühlt jede combi durch aber die farbe der buttons ändert sich nicht?

  "main":
[
{
"leftBtn": "mdi-power-off",
"leftClick": ["state::off"],
"slider": ["pct::pct %v:%n:0:100:1"],
"rightBtn": "mdi-power-on",
"rightClick": ["state::on"]
},
{
"leftBtn": "mdi-power-off",
"leftClick": ["state::off"],
"slider": ["ct::ct %v:%n:3000:6500:100"],
"rightBtn": "mdi-power-on:yellow",
"rightClick": ["state::on"]
}
],

[/OT]
mehr farbe braucht die welt xD

lg
Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

draddy

#5
moin,

hab das mal in ein Template gepackt


{
  "name": "shellyduo",
  "author": "draddy",
  "date": "2022-03-19",
  "status": {
    "bar": ["state:off:0","pct::%n:success"],
    "error": ["network:^(?!<html>connected):100:error:keine Verbindung"]
  },
  "main": [
    {
"leftBtn": "mdi-power-off",
"leftClick": ["state::off"],
"slider": ["pct::pct %v:%n:0:100:1"],
"rightBtn": "mdi-power-on",
"rightClick": ["state::on"]
    },
    {
"leftBtn": "mdi-power-off",
"leftClick": ["state::off"],
"slider": ["ct::ct %v:%n:3000:6500:100:yellow"],
"rightBtn": "mdi-power-on",
"rightClick": ["state::on"]
    }
  ],
  "info": {
"left1":["state:on::mdi-lightbulb", "state:off::mdi-lightbulb-off"],
"left2": ["power:0.1:%n.2w"],
"mid1": ["pct::Dim %n%:"],
"mid2": ["ct::CT %nk:"],
"right2": ["network:connected::mdi-wifi","network:::mdi-wifi-off"]
  }
}

Habe, in der Bar auch den off state mit genommen, damit der Balken leer ist, wenn ausgeschaltet ist, das ist mir bei den "Dimmer" Templates aufgefallen, "fehlt" dort auch.

Sonst eben der Main mit 2 Leveln - bewusste beide mit ON OFF - es ändert sich also nur der Slider für PCT bzw CT

Im Info Bereich passendes Symbol, Verbrauch, sowie PCT und CT Werte und rechts noch das "shelly typische" wlan symbol.

wenn @jemu75 jetzt irgendwie noch schafft die Farbe vom Slider ändern zu lassen, sollte der Farbtemperatur Slider gelb werden. ;)
sollte sogar noch Lable möglich sein, würde ich das natürlich schnell noch anpassen.

Habe es hier auf ne 2. Bulb angewendet- klappt sofort "out of the box" wie man sagt (Bulb muss natürlich in fhem richtig drin sein und funktionieren)

mfg
Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

draddy

#6
schon wieder ich xD

eventuell zum thema farbe was neues? ;)

€dit:

also, Zusammenfassung bis hier her;
bei Verwendung von Slider geht NICHT mehr:

  • Verwendung von anderen Buttonfunktionen ausser click
  • Farben für Buttons


vielleicht findest du da was jemu? denke man könnte den Slider deutlich besser einsetzen ohne Nebenwirkungen, und, vll. gibts in dem Zuge auch die Möglichkeit dem Slider ne Farbe zu geben?

im Anhang mal die shellyduo json ... wenn man zu Testzwecken im 2. Main den Slider mal raus nimmt, werden die Buttons wie gewünscht Gelb ...

lg
Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

jemu75

Zitat von: draddy am 20 März 2022, 19:01:26
schon wieder ich xD

eventuell zum thema farbe was neues? ;)

also, Zusammenfassung bis hier her;
bei Verwendung von Slider geht NICHT mehr:

  • Verwendung von anderen Buttonfunktionen ausser click
  • Farben für Buttons

Kleine Anmerkung am Rande.  ;)
Der Slider ist im vue Framework ein eigenes Steuerelement. Dieses bietet die Möglichkeit, Buttons vor bzw. hinter einem Slider zu aktivieren. Diese haben jedoch nicht die gleichen Konfigurationsmöglichkeiten, wie die einzelnen Buttons, die sonst zum Einsatz kommen. Die Aussage "funktioniert nicht mehr" ist also nicht ganz korrekt.
Unabhängigkeit davon verstehe ich natürlich den Wunsch nach der Funktionalität. Zudem wäre es auch sinnvoll, wenn die Konfiguration der Buttons (egal ob als Teil der Slider oder als eigenständiger Button) immer das gleiche Resultat bringt.
Ich werde mir mal ansehen, wie ich das ganze etwas umbauen kann.

Was das generelle Thema der Colorpicker für rgb-Module angeht, so bin ich noch am Arbeiten. Welche Lösung es final wird, ist aber noch offen. Insofern kann ich aktuell auch noch nicht sagen, ob es bunte Slider geben wird.

draddy

moin,

ja, darum die Frage an dich halt, ich kann schlecht beurteilen was vom Framework und was von deiner Implementierung kommt, bzw. welche Einflussmöglichkeiten du hast ;)

RGB ist sicher nochmal anderes Thema, was für MICH allerdings ehr Uninteressant ist.

Die Farbtemp im Modus "white" ist ja im Shelly Modul gsd. auch als einfacher Wert von 3000 bis 6500 implementiert.

Mein "Hauptanliegen" wäre hier eben nur eine Möglichkeit es kenntlich zu machen welcher Slider für was ist, ob nun durch Farbe des Sliders, der Buttons, oder eben als eine Form von Textlable, da bin ich total offen ;)

lg
Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

jemu75

Ich habe mit dem Release 3.32.0 neue Features freigegeben, die eine bessere Verwendung der Slider ermöglichen.
In dem Zuge würde ich dieses Thema erstmal auf gelöst setzen.  :)

draddy

also, wenn du magst, darf das dann auch mit rein ;)

getestet und für gut befunden (jaha, ich bin befangen :P)

Anmerkung: ihr dürft natürlich nicht übertreiben bei der Namenswahl des Labels - sonst wird der Slider sehr klein  8)

OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

Himbi777

#11
Hallo zusammen,
danke für das Update auf 3.35.0

Ich wollte aber gerne nochmal das Thema "Farbe" im Slider aufgreifen:
Wäre es denn möglich bei einem HUE-slider die Farbe in der "Blase" darzustellen, anstatt dem Slider-Wert.
So könnte z.B. der HUE Wert von 0-360 anstatt mit der Zahl mit der tatsächlichen Farbe angezeigt werden.
Optimalerweise wird der HUE-Farbraum über die min/max Werte des Sliders gestreckt, da es z.B Devices gibt, die den HUE-Bereich nur von 0-255 haben.
Im übrigen wäre damit auch ein CT-Slider möglich.

Danke und liebe Grüße
Gerhard

P.S:
aktuell habe ich meinen CT-Slider folgendermaßen umgesetzt:
     {
"leftBtn": ["CT::mdi-sun-thermometer::#BBBBFF"],
         "leftClick": ["CT:10:CT %i-100"],
         "text": ["CT::CT"],
         "slider": ["CT::CT %v:%n:153:500:5"],
         "rightBtn": ["CT::mdi-sun-thermometer::#FFFF88"],
         "rightClick": ["CT::CT %i100"]
    },
Raspberry Pi4, OMV, FHEM, FHEM-App // Tasmota-Geräte, Zigbee2Tasmota,