NEWS
Brauche Hilfe für Tendenzanzeige einer Temperatur
-
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 :)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
