Ich vermisse öfters das einfache Hintippen meiner Gedanken als Formel im Homeserver und finde das Zusammenstecken von mehreren Bausteinen für eine einfache Berechnung nicht Zeitgemäß. Geht das nur mir so?
Ich hätte eine Lösung, aber weiß nicht, ob ich allein bin mit dem Problem - oder es gar so einen Baustein schon gibt. Hab mich heute hingesetzt und mal ne Idee umgesetzt:Greenshot 2022-07-13 00.40.35.png
Einfache Logiken sind möglich, z.B. mit Vergleichen kombiniert:
Sprich
gibt x1 zurück, wenn es größer als x2 ist - sonst x2 Das kann man auch klammern:
Das alles verhindert dann so doofe Verschachtelungen, die schon bei einfachem Kram alles verkomplizieren:
Greenshot 2022-07-13 00.40.55.png
Download: http://service.knx-user-forum.de/?co...nload&id=14188
Amazon Wishlist: https://www.amazon.de/hz/wishlist/ls...?ref_=wl_share
Ich hätte eine Lösung, aber weiß nicht, ob ich allein bin mit dem Problem - oder es gar so einen Baustein schon gibt. Hab mich heute hingesetzt und mal ne Idee umgesetzt:Greenshot 2022-07-13 00.40.35.png
n + m | Addiert Wert n und m |
n - m | Substrahiert den Wert m vom Wert n |
n * m | Multipliziert zwei Werte |
n / m | Dividiert den Wert n durch den Wert m |
n ** m | Potenziert den Wert n "hoch" den Wert m |
n % m | Modulo: Dividiert n durch den Wert m und gibt den Rest zurück |
pow(n,m) | Potenziert n mit m (analog **) |
sqrt(n) | Die Wurzel von n |
ceil(n) | Runde n zum nächsten Integer auf |
floor(n) | Runde n zum nächsten Integer ab |
trunc(n) | Schneidet alles rechts vom Komma ab. Entpricht floor bei positiven und ceil bei negativen Zahlen |
exp(n) | Eulersche Zahl: e hoch n |
log(n, m) | Logarithmus von n - zur optionalen Basis m |
n << m | Shiftet m bits nach links |
n >> m | Shiftet m bits nach rechts |
sin(n) | Sinus von n als Bogenmaß |
cos(n) | Cosinus von n als Bogenmaß |
tan(n) | Tangens von n als Bogenmaß |
asin(n) | Arcsinus von n (radiant). Ergebnis zwischen -pi/2 und pi/2. |
acos(n) | Arcuscosinus von n (radiant). Ergebnis zwischen 0 und pi. |
atan(n) | Arctangens von n (radiant). Ergebnis zwischen -pi/2 und pi/2. |
degrees(n) | Winkel von Radiant in Grad umrechnen |
radians(n) | Winkel von Grad in Radiant umrechnen |
min(n,m,..) | Gibt den kleinsten Wert zurück |
max(n,m,..) | Gibt den größten Wert der Menge zurück |
- Es gilt Punkt vor Strich-Rechnung 1+2*3=7
- Einfache Klammern führen zur Vorberechnung der Werte (1+2)*3=9
- Eulerische Zahl mittels e
- PI mittels pi
- Teilt man Ganzzahlen, so ist auch das Ergebnis wieder eine Ganzzahl. Dies lässt sich direkt nicht auf dem Homeserver verändern. Abhilfe: Statt 2/3 einfach 2/3.0 (Oder wenn der HS endlich auf python 3 geht!)
- Alles linksassoziativ: 16/4/2 = 2 (nicht 8 wie bei rechts-assoziation!)
Einfache Logiken sind möglich, z.B. mit Vergleichen kombiniert:
Code:
expression_if_true if condition else expression_if_false
Code:
x1 if x1 > x2 else x2
Code:
(x1 if x1 > x2 else x2) * 2 * x3
Greenshot 2022-07-13 00.40.55.png
Download: http://service.knx-user-forum.de/?co...nload&id=14188
Amazon Wishlist: https://www.amazon.de/hz/wishlist/ls...?ref_=wl_share
Kommentar