Hauptmenü

FHEM App - Manage your Home

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

Vorheriges Thema - Nächstes Thema

tomspatz

OK erste echte Frage.
In einem "Gerät" es ist ein DOIF möchte ich die Temperatur abfangen. Das hört sich komisch an funzt aber. Habe dafür unter appOptions:
{ "template": "thermometer", "setup":
{ "main":[{
      "text": ["temperatur::%n.1°C"],
      "text2": ["humidity::%n%"]
    }],
"info": {"left1": ["temperatur:0::mdi-thermometer","temperatur:::mdi-snowflake"],
    "right1": ["battery:ok::mdi-battery","battery:::mdi-battery-10"],
    "right2": ["Activity:alive::mdi-wifi","Activity:::mdi-wifi-off"]}
}
}


Das funktioniert bis auf das Schneeflocken Symbol welches bei im Augenblick 19.4 nicht sein sollte.

jemu75

#181
Zitat von: tomspatz am 24 März 2021, 19:47:31
OK erste echte Frage.
In einem "Gerät" es ist ein DOIF möchte ich die Temperatur abfangen. Das hört sich komisch an funzt aber. Habe dafür unter appOptions:
{ "template": "thermometer", "setup":
{ "main":[{
      "text": ["temperatur::%n.1°C"],
      "text2": ["humidity::%n%"]
    }],
"info": {"left1": ["temperatur:0::mdi-thermometer","temperatur:::mdi-snowflake"],
    "right1": ["battery:ok::mdi-battery","battery:::mdi-battery-10"],
    "right2": ["Activity:alive::mdi-wifi","Activity:::mdi-wifi-off"]}
}
}


Das funktioniert bis auf das Schneeflocken Symbol welches bei im Augenblick 19.4 nicht sein sollte.

Steht in dem Reading in FHEM "19.4" oder sowas wie "19,4" oder "19.4°C" oder ...

Das war mir letztens auch mal aufgefallen, dass bei Temperatur über 0 plötzlich die Schneeflocke da war. Das war kurze Zeit später wieder weg und ich konnte das nicht reproduzieren. Ich schaue mir das aber noch mal genau an. Sieht nach einem Bug aus.  :o

tomspatz

#182
jetzt noch einen ein zWave Dimmer:
liefert ein reading
state off oder
state dim 31 die 31 ist nur ein Beispiel kann aber auch einstellig sein.
An und aus bei lange halten ist OK
Ich habe mir gedacht das ich dann je nachdem was das Reading liefert mit Tasten den Wert erhöhen oder verringern kann. Das will aber nicht so  :-[
{ "template": "dimmer", "setup":
{"main": [{
"leftBtn": "mdi-minus",
"leftClick": ["state:%n.2:dim %i-5","dim::off"],
"leftLong": ["state::off"],
"text": ["state:off:aus:","state::an"],
"rightBtn": "mdi-plus",
"rightClick": ["state:off:dim %i5","dim::off"],
"rightLong": ["state::on"]
}]}}


jemu75

Zitat von: ToKa am 15 März 2021, 19:15:10
Den Ansatz den aktuellen Modus anzuzeigen und wenn man darauf klickt, ein Pop-Up mit den anderen Modi zur Auswahl anzuzeigen, finde ich nicht schlecht.
VG
Torsten

Hi Torsten,

ich habe eben das Release v3.3.1 freigegeben. Im Standard-Template stehen jetzt auch Menü's (popup) zur Verfügung. Schau gern mal in die Doku hier. Unter Im Teil "main" kannst du "leftMenu" und/oder "rightMenu" definieren und hier z.B. die verschiedenen Betriebsmodi von Thermostaten steuern. Probiere das bitte mal aus und gib gern Feedback. :)

jemu75

Zitat von: tomspatz am 24 März 2021, 21:42:24
jetzt noch einen ein zWave Dimmer:
liefert ein reading
state off oder
state dim 31 die 31 ist nur ein Beispiel kann aber auch einstellig sein.
An und aus bei lange halten ist OK
Ich habe mir gedacht das ich dann je nachdem was das Reading liefert mit Tasten den Wert erhöhen oder verringern kann. Das will aber nicht so  :-[
{ "template": "dimmer", "setup":
{"main": [{
"leftBtn": "mdi-minus",
"leftClick": ["state:%n.2:dim %i-5","dim::off"],
"leftLong": ["state::off"],
"text": ["state:off:aus:","state::an"],
"rightBtn": "mdi-plus",
"rightClick": ["state:off:dim %i5","dim::off"],
"rightLong": ["state::on"]
}]}}


Du bist schon auf dem richtigen Weg. :) Wenn Du bei leftClick bzw. rightClick Werte erhöhen bzw. verringern möchtest, dann verwendest du %i

Im einfachsten Fall sieht das wie folgt aus:
["state::dim %i5"] (erhöht den aktuellen Wert des Readings state um 5)
["state::dim %i-5"] (verringert den aktuellen Wert des Readings state um 5)

Bei dem oben genannten Beispiel könntest du den Wert jedoch endlos erhöhen bzw. verringern. D.h. du würdest über 100% oder unter 0% dimmen.
Damit das nicht passiert musst du noch ein Prüfung des aktuellen Wertes (state) vornehmen. Das passiert über den zweiten Parameter. (also nach "state:")
Hier trägst du den Wert ein, auf den das Reading (also state) geprüft werden soll. Bei Zahlenwerten gilt reading >= prüfwert. Wenn die jeweilige Prüfung zutrifft, dann wird das FHEM-Kommando gesendet.

Dann sieht das ganze wie folgt aus:
["state:on:","state::dim %i5"] (prüft zuerst das Reading state auf den Wert "on". Wenn das nicht zutrifft dann wird der aktuelle Wert des Readings state um 5 erhöht)
["state:5:dim %i-5","state::off"] (prüft zuerst ob der Wert des Readings state >=5 ist und verringert den aktuellen Wert um 5, ansonsten wird "off" gesetzt)

Schau gern auch noch mal in die Doku unter Zuweisung von Elementen

Jamo

ZitatDas mit csrf-Token ist ein Hinweis darauf, dass die App (intern) keine Verbindung zur FhemWeb-API aufbauen kann.
Ich habe eben noch einen kleinen Fehler behoben und das Release v3.2.1 freigegeben. Möglicher Weise ist das Problem damit schon behoben.
Installiere das bitte mal auf deiner FHEM Instanz. Wenn möglich, bitte auch inkl. der config.json die ich mit ausliefere.

Bingo II: Habe gerade die letzte release v3.3.1 installiert, und den originären config.json benutzt. Jetzt funktionierts sowohl für http://192.168.1.220:8083 als auch http://inuc:8083

Danke, Problem gelöst. Echt Hammer dein Support und Engagement!
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

#186
neues Release v3.3.1
neues Feature
Im Standard Template stehen jetzt auch Menüs zur Verfügung.

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

tomspatz

ZitatSteht in dem Reading in FHEM "19.4" oder sowas wie "19,4" oder "19.4°C" oder ...

Das war mir letztens auch mal aufgefallen, dass bei Temperatur über 0 plötzlich die Schneeflocke da war. Das war kurze Zeit später wieder weg und ich konnte das nicht reproduzieren. Ich schaue mir das aber noch mal genau an. Sieht nach einem Bug aus. 

temperatur temperature: 19.8 C

jemu75

Zitat von: tomspatz am 24 März 2021, 23:11:24
temperatur temperature: 19.8 C

Danke Dir. Jetzt konnte ich den Fehler reproduzieren. Werde mir morgen eine Lösung einfallen lassen und mit dem nächsten Release eine Lösung liefern.  :)

tomspatz

ZitatDu bist schon auf dem richtigen Weg. :) Wenn Du bei leftClick bzw. rightClick Werte erhöhen bzw. verringern möchtest, dann verwendest du %i

Im einfachsten Fall sieht das wie folgt aus:
["state::dim %i5"] (erhöht den aktuellen Wert des Readings state um 5)
["state::dim %i-5"] (verringert den aktuellen Wert des Readings state um 5)

Bei dem oben genannten Beispiel könntest du den Wert jedoch endlos erhöhen bzw. verringern. D.h. du würdest über 100% oder unter 0% dimmen.
Damit das nicht passiert musst du noch ein Prüfung des aktuellen Wertes (state) vornehmen. Das passiert über den zweiten Parameter. (also nach "state:")
Hier trägst du den Wert ein, auf den das Reading (also state) geprüft werden soll. Bei Zahlenwerten gilt reading >= prüfwert. Wenn die jeweilige Prüfung zutrifft, dann wird das FHEM-Kommando gesendet.

Dann sieht das ganze wie folgt aus:
["state:on:","state::dim %i5"] (prüft zuerst das Reading state auf den Wert "on". Wenn das nicht zutrifft dann wird der aktuelle Wert des Readings state um 5 erhöht)
["state:5:dim %i-5","state::off"] (prüft zuerst ob der Wert des Readings state >=5 ist und verringert den aktuellen Wert um 5, ansonsten wird "off" gesetzt)

Schau gern auch noch mal in die Doku unter Zuweisung von Elementen

Das Problem ist das ich die Zahlenwerte nicht abfangen kann. Das Reading ist entweder:
"off" oder "dim 46" Beispielzahl
wenn jetzt passiert
["state:5:dim -5","state::off"]
geht es sofort in den off



jemu75

Zitat von: tomspatz am 24 März 2021, 23:39:23
Das Problem ist das ich die Zahlenwerte nicht abfangen kann. Das Reading ist entweder:
"off" oder "dim 46" Beispielzahl
wenn jetzt passiert
["state:5:dim -5","state::off"]
geht es sofort in den off

Du hast alles richtig gemacht. Allerdings, ist das der selbst "Fehler" der auch bei der "Schneeflocke" auftritt. Ich mache ein Update fertig und gebe dann bescheid.  :)

jemu75

#191
neues Release v3.3.2
Bugfix
Bei FHEM-Readings mit Text und Zahlenwerten (z.B. "temperature: 19.4 C" oder "dim 46") wird zur Prüfung bei Zuweisungen der Zahlenwert korrekt rausgefiltert.
Beispiel:
[reading:wert:text] -> Reading state = "dim 46" -> Zuweisung [state:5:Prüfung ist wahr] -> liefert "Prüfung ist wahr"


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

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

tomspatz

#192
WOW du gibst aber Gas.

OK nächster Versuch, wobei das scheinbar echt tricki ist. Der Dimmer ist ein Fibaro Dimmer2 FGD212. Für gewöhnlich wird der im FHEMWEB Frontend mit einem "slider" bedient.
{ "template": "dimmer", "setup":
{"main": [{
"leftBtn": "mdi-minus",
"leftClick": ["state:5:dim %i-5","dim::off"],
"leftLong": ["state::off"],
"text": ["state:off:aus:","state::an"],
"rightBtn": "mdi-plus",
"rightClick": ["state::dim %i5","dim::off"],
"rightLong": ["state::on"]
}]}}


Damit laufe ich aber über 100 das wird dann nicht mehr "verstanden"und Der maximale Wert ist 99 wird aber wenn ich es so mache ignoriert. bzw. wird ja so auf >=1 geprüft ansonsten aus. Wie lässt es sich denn auf >=99 prüfen dann nichts ?

{ "template": "dimmer", "setup":
{"main": [{
"leftBtn": "mdi-minus",
"leftClick": ["state:5:dim %i-5","dim::off"],
"leftLong": ["state::off"],
"text": ["state:off:aus:","state::an"],
"rightBtn": "mdi-plus",
"rightClick": ["state:1:dim %i5","dim::off"],
"rightLong": ["state::on"]
}]}}



Die Frage ist allerdings ob man das so machen sollte? Schöner fände ich wenn das auch für andere einfacher würde.
Über den Slider werden ja immer direkte Werte mit übergeben. Als Beispiel:
set DimmerWohnzimmer dim 25
Könnten wir denn ggf. zusammen einen Slider bauen ?




tomspatz

Noch etwas anderes. Der Aufruf von fhemapp auf meinem iPad, schon etwas älter, bringt im Safari sowie im FireFox nur eine Fehlermeldung:
Loading rooms from FHEM failed.
TypeError: d.replaceAll is not a function. (in 'd.replaceAll("","\\s")','d.replaceAll' is undefined)


jemu75

Zitat von: tomspatz am 25 März 2021, 09:51:07
WOW du gibst aber Gas.

OK nächster Versuch, wobei das scheinbar echt tricki ist. Der Dimmer ist ein Fibaro Dimmer2 FGD212. Für gewöhnlich wird der im FHEMWEB Frontend mit einem "slider" bedient.
{ "template": "dimmer", "setup":
{"main": [{
"leftBtn": "mdi-minus",
"leftClick": ["state:5:dim %i-5","dim::off"],
"leftLong": ["state::off"],
"text": ["state:off:aus:","state::an"],
"rightBtn": "mdi-plus",
"rightClick": ["state::dim %i5","dim::off"],
"rightLong": ["state::on"]
}]}}


Damit laufe ich aber über 100 das wird dann nicht mehr "verstanden"und Der maximale Wert ist 99 wird aber wenn ich es so mache ignoriert. bzw. wird ja so auf >=1 geprüft ansonsten aus. Wie lässt es sich denn auf >=99 prüfen dann nichts ?

{ "template": "dimmer", "setup":
{"main": [{
"leftBtn": "mdi-minus",
"leftClick": ["state:5:dim %i-5","dim::off"],
"leftLong": ["state::off"],
"text": ["state:off:aus:","state::an"],
"rightBtn": "mdi-plus",
"rightClick": ["state:1:dim %i5","dim::off"],
"rightLong": ["state::on"]
}]}}



Die Frage ist allerdings ob man das so machen sollte? Schöner fände ich wenn das auch für andere einfacher würde.
Über den Slider werden ja immer direkte Werte mit übergeben. Als Beispiel:
set DimmerWohnzimmer dim 25
Könnten wir denn ggf. zusammen einen Slider bauen ?

Ja, wir können das Template gern zusammen erstellen. Schicke mir bitte mal ein list von dem Dimmer.