NEWS
Brauche Hilfe für Tendenzanzeige einer Temperatur
-
Hallo Zusammen,
ich möchte gerne eine Temperatur abfragen, und alle 60 sec. die Tendenz für Auf/Ab/Gleich bekommen.
Ich weiss das es in VIS mit justgage-indicator auch geht, aber die Grafik sagt mir nicht so zu. Habt Ihr eine Lösung ? Kann auch Script sein....Vielen Dank,
Kaschi68 -
Flot Adapter und History Adapter....
-
-
@sigi234
Ja, mit den Diagrammen ist Klasse. Verwende ich auch. Nur für die Smartphones möchte ich aus Platzgründen einen Pfeil haben. Den Pfeil möchte ich als Image verwenden und im VIS ansteuern, bzw. je nach dem sichtbar machen. Mir fehlt nur leider noch grundlegend das Verständnis für Scipte.Der Script sollte etwa so aussehen,
-lade Temperaturwert,
-warte 60 Sekunden,
-vergleiche den alten mit dem neuen Temperaturwert,
-ist der neue Wert gleich dem alten, dann Variable=0
-ist der neue Wert kleiner als der Alte, dann Variable=1
-ist der neue Wert grösser als der Alte, dann Variable=2
-gehe zum Anfang...Trotzdem vielen Dank für den Tipp
-
Vorschlag:
const idTemp = '...'; // ID für Temperatur-Datenpunkt eintragen const idPfeil = '...'; // ID für Multistate-Datenpunkt eintragen var lastTemp = getState(idTemp).val; schedule('* * * * *', function() { // jede Minute var t = getState(idTemp).val; var tendenz = 0; if(t < lastTemp) tendenz = 1; if(t > lastTemp) tendenz = 2; setState(idPfeil, tendenz, true); lastTemp = t; }); -
Vorschlag:
const idTemp = '...'; // ID für Temperatur-Datenpunkt eintragen const idPfeil = '...'; // ID für Multistate-Datenpunkt eintragen var lastTemp = getState(idTemp).val; schedule('* * * * *', function() { // jede Minute var t = getState(idTemp).val; var tendenz = 0; if(t < lastTemp) tendenz = 1; if(t > lastTemp) tendenz = 2; setState(idPfeil, tendenz, true); lastTemp = t; }); -
Vorschlag:
const idTemp = '...'; // ID für Temperatur-Datenpunkt eintragen const idPfeil = '...'; // ID für Multistate-Datenpunkt eintragen var lastTemp = getState(idTemp).val; schedule('* * * * *', function() { // jede Minute var t = getState(idTemp).val; var tendenz = 0; if(t < lastTemp) tendenz = 1; if(t > lastTemp) tendenz = 2; setState(idPfeil, tendenz, true); lastTemp = t; });@paul53
Oh , das möchte ich auch mal so können.........
-
Läuft total Super Dein Script, vielen Dank nochmal. Hier ist er mit Datenpunkten und 5min. Abfrageintervall :
const idTemp = 'hm-rpc.0.OEQ0xxxxxx.1.TEMPERATURE'; // ID für Temperatur-Datenpunkt eintragen const idPfeil = 'javascript.0.Tendenz_Kammer'; // ID für Multistate-Datenpunkt eintragen var lastTemp = getState(idTemp).val; schedule('*/5 * * * *', function() { // jede 5 Minuten var t = getState(idTemp).val; var tendenz = 0; if(t < lastTemp) tendenz = 1; if(t > lastTemp) tendenz = 2; setState(idPfeil, tendenz, true); lastTemp = t; });Beste Grüße,
Kaschi68 -
Vorschlag:
const idTemp = '...'; // ID für Temperatur-Datenpunkt eintragen const idPfeil = '...'; // ID für Multistate-Datenpunkt eintragen var lastTemp = getState(idTemp).val; schedule('* * * * *', function() { // jede Minute var t = getState(idTemp).val; var tendenz = 0; if(t < lastTemp) tendenz = 1; if(t > lastTemp) tendenz = 2; setState(idPfeil, tendenz, true); lastTemp = t; });@paul53 Danke für das Script es klappt super! Ich beiße mir gerade die Zähne aus das Script auf 4 Werte zu ändern...
Also er soll 3 Werte miteinander vergleichen.Ist der neue Wert < als der 1. Alte und 2. Alte und 3. Alte dann => Variable 1
Kannst du mir dort bitte weiterhelfen?
Danke dir!
-
@paul53 Danke für das Script es klappt super! Ich beiße mir gerade die Zähne aus das Script auf 4 Werte zu ändern...
Also er soll 3 Werte miteinander vergleichen.Ist der neue Wert < als der 1. Alte und 2. Alte und 3. Alte dann => Variable 1
Kannst du mir dort bitte weiterhelfen?
Danke dir!
@stadtschloss sagte: Ist der neue Wert < als der 1. Alte und 2. Alte und 3. Alte dann => Variable 1
const idTemp = 'hm-rpc.0.OEQ0xxxxxx.1.TEMPERATURE'; // ID für Temperatur-Datenpunkt eintragen const idPfeil = 'javascript.0.Tendenz_Kammer'; // ID für Multistate-Datenpunkt eintragen var last1 = getState(idTemp).val; var last2 = last1; var last3 = last1; schedule('*/5 * * * *', function() { // jede 5 Minuten var t = getState(idTemp).val; var tendenz = 0; if(t < last1 && t < last2 && t < last3) tendenz = 1; if(t > last1) tendenz = 2; setState(idPfeil, tendenz, true); last3 = last2; last2 = last1; last1 = t; }); -
@stadtschloss sagte: Ist der neue Wert < als der 1. Alte und 2. Alte und 3. Alte dann => Variable 1
const idTemp = 'hm-rpc.0.OEQ0xxxxxx.1.TEMPERATURE'; // ID für Temperatur-Datenpunkt eintragen const idPfeil = 'javascript.0.Tendenz_Kammer'; // ID für Multistate-Datenpunkt eintragen var last1 = getState(idTemp).val; var last2 = last1; var last3 = last1; schedule('*/5 * * * *', function() { // jede 5 Minuten var t = getState(idTemp).val; var tendenz = 0; if(t < last1 && t < last2 && t < last3) tendenz = 1; if(t > last1) tendenz = 2; setState(idPfeil, tendenz, true); last3 = last2; last2 = last1; last1 = t; });@paul53 Vielen Dank für deine Hilfe! Hat mir sehr Weitergracht bin noch mit Java am Anfang. Hat mir einiges geholfen :)
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
