Hauptmenü

FHEM App - Manage your Home

Begonnen von Gisbert, 12 März 2021, 15:05:20

Vorheriges Thema - Nächstes Thema

jemu75

#75
Zitat von: JoWiemann am 18 März 2021, 13:44:51
Also: state::dimi[-6] wird nicht aufgelöst.

Habe ich vermutlich unglücklich beschrieben.  ;)
Beispiel für Wert um 1,5 erhöhen: ["state::%i1. 5"]
Beispiel für Wert um 1,5 verringern: ["state::%i-1. 5"]

Konkret könnte es bei Dir wie folgt aussehen:
"leftClick": ["state:6:dim%i-6%","state::"]  -> ab mind. 6% wird immer um jeweils 6% runter gedimmt, danach reagiert die Taste nicht mehr -> das ergibt z.B. bei state = 30 dann dim36%
"rightClick": ["state:100:","state::dim%i6%"] -> ab 100% reagiert die Taste nicht mehr, ansonsten wird immer um jeweils 6% hoch gedimmt
Ich habe jeweils gleich noch die Min bzw. Max Prüfung mit drin, damit du nicht über 100% bzw. unter 0% dimmst.

JoWiemann

#76
Hallo,

Ok, funktioniert. Hatte aber für den FS20 Dimmer etwas übersehen. So ist es doch viel einfacher:

    {
      "name": "FS20_Dimmer",
      "status": {
         "bar": ["state:on:100:success","state:off:0:success","state::%n:success"],
         "error": []
       },
       "main": [
         {
           "leftIcon": "mdi-minus",
           "leftClick": ["state:on:dimdown 96","state:dimup 6:off","state:dimdown 6:off","state::dimdown %i-6"],
           "leftLong": ["state::off"],
           "text": ["state:on:an:","state:off:aus"],
           "rightIcon": "mdi-plus",
           "rightClick": ["state:off:dimup 6","state:dimup 96:on","state:dimdown 96:on","state::dimup %i6"],
           "rightLong": ["state::on"]
         }
       ],
       "info": {
         "left1": ["state:on::mdi-lightbulb","state:off::mdi-lightbulb-off"],
         "left2": ["state:on:", "state:off:", "state::%n%"]
       }
    }


Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Jamo

Wenn sich der Player in einer Gruppe befindet, dann wird GroupVolume geregelt, ansonsten Volume. Hoffen das passt so? Ja, das wäre was ich mir vorstellen würde!
Das Dimmer Template, das ich mit Version 2 ausliefere ist wie folgt definiert. Bei langem Tastendruck schaltest du damit ein bzw. aus :) Funktioniert, aber unter iOS wird der state dann nicht aktualisiert, und man muss ein manuelles re-load der Webpage machen Ausserdem muss man relativ lange druecken, damit erkannt wird das z.B. ''aus'' gemeint ist und nicht 'dimm-down'.
Ich fände es deswegen auch besser, wenn man den Status in der Mitte nutzen, kann um auch An/Aus zu setzen.

Super Arbeit, danke und beste Gruesse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

jemu75

Zitat von: Jamo am 18 März 2021, 15:04:15
Funktioniert, aber unter iOS wird der state dann nicht aktualisiert, und man muss ein manuelles re-load der Webpage machen Ausserdem muss man relativ lange druecken, damit erkannt wird das z.B. ''aus'' gemeint ist und nicht 'dimm-down'.
Ich fände es deswegen auch besser, wenn man den Status in der Mitte nutzen, kann um auch An/Aus zu setzen.

Super Arbeit, danke und beste Gruesse!
Danke für deine Rückmeldung. Du kannst alternativ mal eine zweite Ebene in dem Dimmer definieren. Damit kannst du dann zwischen dimmen und an/aus schalten umswitchen.

  {
    "name": "dimmer2",
    "status": {
      "bar": ["pct::%n:success"],
      "error": []
    },
    "main": [
      {
        "leftIcon": "mdi-minus",
        "leftClick": ["pct:100:pct 75","pct:75:pct 50","pct:50:pct 25","pct:25:off"],
        "text": ["pct:1:an:","pct::aus"],
        "rightIcon": "mdi-plus",
        "rightClick": ["pct:75:on","pct:50:pct 75","pct:25:pct 50","pct:0:pct 25"],
      },
      {
        "leftIcon": "mdi-power-off",
        "leftClick": ["state::off"],
        "text": ["pct:1:an:","pct::aus"],
        "rightIcon": "mdi-power-on",
        "rightClick": ["state::on"]
      }
    ],
    "info": {
      "left1": ["pct:1::mdi-lightbulb","pct:::mdi-lightbulb-off"],
      "left2": ["pct::%s%"]
    }
  }

ToKa

#79
Hallo Jens,

wirklich genial mit den Custom-Templates. Habe mir mal eines für meine ZWave-Thermostate gebaut:

{
    "name": "zwaveThermostat",
    "status": {
      "bar": ["reportedState::%n:success"],
      "error": []
    },
    "main": [
      {
        "leftIcon": "mdi-minus",
        "leftClick": ["desired-temp:18.0:","desired-temp::desired-temp %i-0.5"],
        "leftLong": ["eco::thermostatMode energySaveHeating"],
        "text": ["desired-temp::%n.2°C"],
        "rightIcon": "mdi-plus",
        "rightClick": ["desired-temp:25:","desired-temp::desired-temp %i0.5"],
        "rightLong": ["comfort::thermostatMode heating"]
      }
    ],
    "info": {
      "left1": [],
      "left2": ["thermostatMode::%s"],
      "mid1": ["reportedState::%n %:mdi-valve"],
      "mid2": ["temperature::%n.2 °C:mdi-thermometer"],
      "right1": ["batteryState:ok::mdi-battery","batteryState:::mdi-battery-10"],
  "right2": []
     }
}


Drei Fragen / Anmerkungen
1. Der Abstand der Icons in der Infozeile ist je nach Icon (siehe Screenshot) zu klein - ein Margin von 2px würde schon ausreichen
2. Gibt es schon die Möglichkeit für das Pop-Up?
3. Gibt es eine Wartezeit zwischen dem Klick auf Plus / Minus bis dann der Wert mit set ... übertragen wird oder wird jeder Kick(Wert) sofort übermittelt?

VG
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

jemu75

Zitat von: ToKa am 18 März 2021, 16:21:48
Drei Fragen / Anmerkungen
1. Der Abstand der Icons in der Infozeile ist je nach Icon (siehe Screenshot) zu klein - ein Margin von 2px würde schon ausreichen
2. Gibt es schon die Möglichkeit für das Pop-Up?
3. Gibt es eine Wartezeit zwischen dem Klick auf Plus / Minus bis dann der Wert mit set ... übertragen wird oder wird jeder Kick(Wert) sofort übermittelt?

zu1) das ändere ich ab  :)
zu2) ist noch in Arbeit - du kannst für den Moment gern mal mit einer zweiten Ebene (siehe unten) arbeiten um z.B. die Betriebsmodi umzuschalten.
zu3) aktuell wird jeder Klick sofort übermittelt. So wirklich optimal ist das noch nicht. Dazu lasse ich mir ebenfalls noch einfallen.  ::)

Die zweite Ebene definierst du im setup über main

"main": [
   { Definition der ersten Ebene },
   { Definition der zweiten Ebene },
   { Definition der x-ten Ebene }
]


ToKa

Schon mal Danke für die Antworten. Gleich noch eine Frage / Anregung hinter her

Ist es möglich, das Plus / Minus in Abhängigkeit vom thermostatMode aktiv / inaktiv zu setzen? Die Begrenzung auf eine Minimal/Maximal Temperatur habe ich gesehen und das funktioniert auch prima.

In meiner Readingsgroup, die ich ansonsten für die Steuerung nehme, habe ich die Logik, dass im Modus energySaveHeating die Temperatur nicht verändert werden kann (Icons ausgegraut und ohne Funktion). Sprich man muss zuerst in den Mode heating umschalten und kann dann die Temperatur regeln.

VG
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

JoWiemann

Hallo,

auf des Nachladens von externen Ressourcen: href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" und href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css" funktioniert die FhemApp ohne Internet Zugang nicht. Kann man das nicht noch lokal holen?

Grüße Jörg

PS: Habe ich vielleicht übersehen. Ein Hinweis wäre nicht schlecht.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JoWiemann

Hallo,

hier noch ein FS20 Shutter:

    {
      "name": "FS20_Shutter",
      "status": {
         "bar": ["state:on:100:success","state:off:0:success"],
         "error": []
       },
       "main": [
         {
           "leftIcon": "mdi-arrow-down",
           "leftClick": ["state::off"],
           "leftLong": ["state::off"],
           "text": ["state:on:auf","state:off:zu"],
           "rightIcon": "mdi-arrow-up",
           "rightClick": ["state::on"],
           "rightLong": ["state::on"]
         }
       ],
       "info": {
         "left1": ["state:on::mdi-window-open","state:off::mdi-window-closed"],
         "left2": ["state:on:", "state:off:"]
       }
    }


Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JoWiemann

Hallo,

ich hadere mit sortby im Home Screen. Im angehängt Screen Shot habe ich die Nummern mal in Rot an jedes Device geschrieben.

Ich habe keine Idee einer Systematik.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Benni

Zitat von: jemu75 am 18 März 2021, 12:13:18
ACHTUNG: sichert bitte eure Datei config.json aus dem Ordner ../fhemapp/cfg/ bevor ihr das neue Release auf euren Web-Server kopiert und fügt die danach dort wieder ein. Ansonsten geht eure Grundkonfiguration verloren.

Könnte man dagegen nicht mal was unternehmen?

Beispielsweise, indem, sofern vorhanden, eine Datei user.config.json (oder wie auch immer benannt) geladen wird, statt der default config.json

Wäre vielleicht auch noch eine Überlegung, ob man die templates aus der config raus nimmt und in einer separaten Datei ablegt.
Eventuell sogar je template eine eigene (dann ggf. gesammelt in einem eigenen Unterverzeichnis)

Oder man packt die user-config(s)/template(s) generell in ein eigenes Unterverzeichnis (so eine art fhemapp.d)

gb#


jemu75

Zitat von: JoWiemann am 18 März 2021, 20:44:30
ich hadere mit sortby im Home Screen. Im angehängt Screen Shot habe ich die Nummern mal in Rot an jedes Device geschrieben.
Ich habe keine Idee einer Systematik.

Ich habe das Thema eben noch mal etwas unter die Lupe genommen. Bei mir tritt der Effekt auch auf, wenn ich mit größeren Zahlenwerten arbeite.
Folgende Erkenntnis für den Moment: Die Sortierung im Vue-Grid System funktioniert nur mit Zahlen zwischen 1 und 12 und das ist irgendwie nicht zielführend für die App  ;)
Als Workaround schlage ich vor, die Sortierung im Moment auf Werte zwischen 1 und 12 zu begrenzen. Thema kommt mit auf die ToDo-Liste.

jemu75

Zitat von: JoWiemann am 18 März 2021, 20:09:56
auf des Nachladens von externen Ressourcen: href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" und href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css" funktioniert die FhemApp ohne Internet Zugang nicht. Kann man das nicht noch lokal holen?

PS: Habe ich vielleicht übersehen. Ein Hinweis wäre nicht schlecht.
Du hast nix übersehen. ;) Ich schau mir mal an, wie man diese Ressourcen lokal einbinden kann. 

jemu75

Zitat von: ToKa am 18 März 2021, 19:21:28
Ist es möglich, das Plus / Minus in Abhängigkeit vom thermostatMode aktiv / inaktiv zu setzen? Die Begrenzung auf eine Minimal/Maximal Temperatur habe ich gesehen und das funktioniert auch prima.
Aktuell noch nicht, aber ich hatte auch schon darüber nachgedacht. Meine Idee wäre, die Icondefinition auch zustandsabhängig zu machen.
Beispielsweise ["reading:wert:icon:disabled"] - So könnte man abhängig vom Wert eines Readings ein bestimmtes Icon anzeigen und über das Flag disabled noch mitgeben, ob die Taste inaktiv sein soll.
Geht mit auf die ToDo-Liste  :)

jemu75

#89
neues Release v2.1.0
Features:
* Im Standard Template können die Icons für Tasten jetzt auch zustandsabhängig definiert werden.
Optimierung:
* Ressourcen (roboto Fonts und mdi-icons) werden jetzt lokal geladen
* Im Standard Template wurde der Abstand der Icons in der Infoleiste optimiert

ACHTUNG: sichert bitte eure Datei config.json aus dem Ordner ../fhemapp/cfg/ bevor ihr das neue Release auf euren Web-Server kopiert und fügt die danach dort wieder ein. Ansonsten geht eure Grundkonfiguration verloren.

Github der Link: https://github.com/jemu75/fhemApp

Hier die aktuell offenen Punkte ToDo-Liste - Ihr könnt diese gern ergänzen.