NEWS
Werte verleichen und State in Fis ändern
-
Hallo,
Ich bräuchte mal Eure Hilfe. Ich habe ein paar Temperatur/Feuchtigkeits Fühler wobei einer im keller und einer Outdoor installiert ist. Da wir erhöhte Feuchtigkeitswerte im Keller haben möchte ich gerne die Feuchtigkeitswerte der Fühler miteinander vergleichen und wenn der Wert draußen niedriger ist eine Signalisierung in Vis auslösen. In Blockly kann ich ja auch Werte vergleichen. Nur wie erzeuge ich eine Änderung in Vis?
Danke schon mal.
-
War dann doch einfacher als gedacht. Habe es hinbekommen.
-
Trotzdem zur Sicherheit die Anmerkung: nicht relative Luftfeuchten, sondern nur absolute Luftfeuchten miteinander vergleichen.
Falls du umrechnen musst in absolute Feuchtigkeit, dazu gibt es hier im Forum ein gutes Script "Raumklima" von Paul53/ruhr70.
-
Irgendwie scheint es dann doch nicht zu funktionieren. Ha be folgendes Script gebaut:
Humidity Keller und Humidity aussen sind die feuchtigkeitswerte die mir der Xiaomi Temp/Feuchtigkeitsmelder ausgibt. "Feuchtigkeit" ist ein Datenpunkt unter Objekte–> Jacascript den ich angelegt habe. Was mir allerdings auffällt sind die Werte die hier ausgegeben werden. Wenn ich mir die Werte unter Objekte --> mihome--> Devices ansehe, sind es nicht sie selben die ich unter anklicken und zuweisen der Objekt ID erhalte. Diese unterscheiden sich um mehrere Prozent. Als würden sie nicht aktualisiert werden. Das ist doch nicht normal, oder?
Und was zeigt mir das Device den nun an? Absolute oder relative Feuchtigkeit. :shock:
-
ok, habe mir den Unterschied erlesen. Aber nur noch mal zum Verständnis. Warum sind die Werte andere als unter Objekte?
-
Und was zeigt mir das Device den nun an? Absolute oder relative Feuchtigkeit. `
Das Gerät liefert die relative Feuchtigkeit. Die absolute Feuchtigkeit (Wassergehalt) muss http://www.iobroker.net/docu/?page_id=3651&lang=de werden.
@karstent:Ha be folgendes Script gebaut: `
In dem Skript werden die IDs der Datenpunkte verglichen, nicht die Werte ! -
Anbei ein komplettes Skript, in dem nur die ersten 7 Zeilen und evtl. der Wert für die Höhe über NN angepasst werden müssen. In der Konfiguration der Javascript-Instanz muss unter "Zusätzliche NPM-Module" dewpoint eingetragen werden. Das Modul wird dann automatisch installiert.
const idTi = '...'; // Datepunkt-ID Temperatur Keller const idTa = '...'; // Datepunkt-ID Temperatur Aussen const idFi = '...'; // Datepunkt-ID rel. Feuchte Keller const idFa = '...'; // Datepunkt-ID rel. Feuchte Aussen const idVis = '...'; //Datenpunkt-ID für Anzeige "Lüften" in VIS const timin = 10; // minimale Kellertemperatur in °C const timax = 20; // maximale Kellertemperatur in °C const DP = require('dewpoint'); var ti = getState(idTi).val; // Raumtemperatur in °C var ta = getState(idTa).val; // Aussentemperatur in °C var fi = getState(idFi).val; // Raumfeuchte in %rH var fa = getState(idFa).val; // Aussenfeuchte in %rH // 70 m über NN var xdp = new DP(70); // Feuchtegehalt berechnen function calcx(t, rh) { var y = xdp.Calc(t, rh); return y.x; } var xi = calcx(ti, fi); // Feuchtegehalt innen var xa = calcx(ta, fa); // Feuchtegehalt außen // Lüftung steuern mit 0,3 g/kg und 0,5 K Hysterese function lueften() { if (xa <= (xi - 0.4) && ti <= (timax - 0.5) && ti >= (timin + 0.5)) { setState(idVis, true, true); } else if (xa >= (xi - 0.1) || ti >= timax || ti <= timin) { setState(idVis, false, true); } } lueften(); // Skriptstart on(idFi, function (dp) { fi = dp.state.val; xi = calcx(ti, fi); lueften(); }); on(idFa, function (dp) { fa = dp.state.val; xa = calcx(ta, fa); lueften(); }); on(idTi, function (dp) { ti = dp.state.val; xi = calcx(ti, fi); lueften(); }); on(idTa, function (dp) { ta = dp.state.val; xa = calcx(ta, fa); lueften(); });
-
Danke für Deine Hilfe. Bin gestern beim recherchieren über dein Script gestolpert und habe es auch schon angepasst und in Benutzung. Soweit scheint alles gut zu funktionieren. Das einzige ist das ich die Tabelle in Vis nicht gut angepasst bekomme ist die Json Table in Vis mit der Ausgabe aller Werte. Die passt einfach nicht auf den Screen
Oder gibt es da eine bessere Lösung?
-
die Tabelle in Vis nicht gut angepasst bekomme ist die Json Table in Vis mit der Ausgabe aller Werte. Die passt einfach nicht auf den Screen
Oder gibt es da eine bessere Lösung? `
Die Frage stelle besser unter der Rubrik "VIS Adapter" und poste einen Screenshot der jetzigen Lösung.