Zitat von Werschlauistfragt
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Erster Drittentwickler-Logikbaustein für den Gira L1 und X1: Textformatierer
Einklappen
Dieser Beitrag wurde beantwortet.
X
X
-
-
Man nehme den aktuellen Temperaturwert von OpenWeatherMap und den Vorhersagewert für in 1, 2 oder 3 Stunden (je nachdem wie die Tendenzanzeige reagieren soll). Dann ein..zwei Vergleiche (z. B. mit der Formelberechnung). Und weil man die dann schon hat, kann man damit auch gleich den gewünschten Text ausgeben. Oder man nimmt dafür einen Textformatierer.
Wichtig: Nicht Vorhersagewerte von OWM mit eigenen Messdaten vergleichen, das wird immer ungenau. Wenn es eigene Messdaten sein sollen, dann kann man die mit einem Telegrammverzögerer zwischenspeichern. Damit bekommt man aber natürlich keine Vorhersagetendenz, sondern eine rückschauende.Zuletzt geändert von hyman; 22.05.2022, 07:09.
- Likes 2
Kommentar
-
Für den zweiten Webrequest benötige Ich immer einen zuvor generierte authID. Diese müsste ich zusammen mit folgenden Text in den Body des Webrequest schreiben: {'jsonrpc': '2.0','id': 1,'method': 'dataGetCurrentData' ,'params': {'authId':'WEIßICHNICHT'}} Bei dem ersten Webrequest wird nur die authID ausgegeben. Wie müsste ich die Daten beim Textformatierer eintragen, damit auch immer die vorher generierte authID eingetragen wird ?
Kommentar
-
Ein wirklich toller Baustein, vielen Dank hyman! Kurze Frage: Die Doku sagt "=" ist als Character nicht möglich. Da ich SSML (also XML inkl. Attributen und damit key/value Zuweisungen a la '<break time="3s"/>') ausgeben möchte in Richtung einer Text-to-Speech-Engine, bräuchte ich auch innerhalb eines Bool Typs die Möglichkeit, "=" zu nutzen. Kann man das irgendwie escapen? Das übliche "" funktioniert leider nicht.
Beispieltext für meine Formatvorlage:
<speak>Folgende Fenster und Tueren sind noch offen: {Arbeitszimmer:B||Arbeitszimmer <break time="2s"/>) }</speak>Zuletzt geändert von pazoozoo; 22.08.2022, 22:30.
Kommentar
-
Zitat von hyman Beitrag anzeigenMan bekommt selbst einzeilig deutlich mehr als 14 Zeichen in einer Textkachel unter.
Viele Grüße und danke
Kommentar
-
Danke, dann anderer Ansatz:
Ich bekomme dieses Ergebnis mit der folgenden Formel: "DateTime.ParseExact("19700101", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture) .AddSeconds({start_timestamp:I}).AddSeconds({timez one:I}).ToString()"
image.png
Wie muss ich die Formel ändern, dass ich mit nur die Uhrzeit also 5:00 Uhr Anzeigen lasse. Dann würde ich mit einer Zeile auskommen. Denn das Datum kenne ich, da die Daten nur +24h gelten. Irgendwie erinnert mich das noch an Intel 80286 Zeiten, als man noch mit dem Speicher so haushalten musste ;-)
Kommentar
-
https://learn.microsoft.com/en-us/dotnet/api/system.datetime.toshorttimestring?view=netframewor k-4.0
Die passende Methode dürfte ToShortTimeString sein (wenn Du die Sekunden nicht brauchst) …Zuletzt geändert von hyman; 18.01.2023, 13:29.
Kommentar
-
Zitat von hyman Beitrag anzeigenhttps://learn.microsoft.com/en-us/dotnet/api/system.datetime.toshorttimestring?view=netframewor k-4.0
Die passende Methode dürfte ToShortTimeString sein (wenn Du die Sekunden nicht brauchst) …
- Likes 1
Kommentar
-
Habe jetzt erst den Baustein so richtig entdeckt und wollte mal besten Dank sagen!
Konnte aus 3 Seiten 1 machen.Angehängte DateienZuletzt geändert von kmk85; 17.02.2023, 23:56.
Kommentar
-
Das ist eine nette Idee. Dem Dank an hyman schließe ich mich gerne an!
BF191FF7-6687-4265-9154-10365F587DD0.jpgGruß Bernhard
Kommentar
Kommentar