NEWS
[Skript] Absolute Feuchte berechnen
-
@paul53 Was meinst du mit "Fehler beim C&P:" ? In welcher Zeile muss das mit "; angepasst werden?
Ich habs kapiert, du meinst Copy und Paste.
Ich seh noch mal nach dem Original, wie das da aussieht. Das ist wohl überall verrutscht.
-
@paul53 sagte in [Skript] Absolute Feuchte berechnen:
@jojo58 sagte: Das sind die Codezeilen.
Offenbar ein Fehler beim C&P: Die
";
müssen an das Zeilenende darüber.da scheint sogar noch eine Leerzeile dazwischen zu sein. zu erkennen an der {1}
-
Bin davon ausgegangen, das es im Original richtig ist und nur ein Darstellungsfehler am Handy.
-
@homoran In der Version 0.6.4 fehlt dieses "select all", deswegen habe ich alles markiert und dann kopiert. Schätze das hängt damit zusammen.
Kann man dieses "select all" noch reinsetzten?
Das Original von oben hat 933 Zeilen und nach dem kopieren hab ich 1865 Zeilen.
-
@paul53 @Homoran Ich hab die 3 Zeilen geändert und die "" korrigiert.
Jetzt bekomme ich diese Fehlermeldung:
12:15:29.721 info javascript.0 (7373) script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 12:15:29.725 error javascript.0 (7373) script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen: TypeError: DP is not a constructor 12:15:29.726 error javascript.0 (7373) at script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen:861:15 12:15:29.726 error javascript.0 (7373) at script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen:1826:3
Zeile 1826 habe ich nicht, hört bei 1825 auf und in Zeile 861 steht:
var xdp = new DP(hunn); var pbar = luftdruck(hunn); // individueller Luftdruck in bar (eigene Höhe)
Zumindest wurde unter Javascript der Ordner Raumklima und darunter der Ordner Skriptinfos angelegt.
-
@jojo58 sagte: Das Original von oben hat 933 Zeilen und nach dem kopieren hab ich 1865 Zeilen.
Firefox? Nimm für das Forum einen anderen Browser.
-
@paul53 Habe jetzt den Edge genommen. Der kopiert das besser, sind keine Leerzeilen dazwischen. Die 3 Zeilen mit den Zeilenumbruch zwischen den "" waren allerdings auch da falsch. Ist im Originalcode ab Zeile 723 genauso. Wenn ich das wieder korrigiere, dann bin ich wieder bei den Meldungen:
13:08:01.768 error javascript.0 (7373) script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen: Error: Cannot find module 'dewpoint' 13:08:01.769 error javascript.0 (7373) at script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen:82:13 13:08:01.769 error javascript.0 (7373) at script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen:914:3 13:08:01.772 info javascript.0 (7373) script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 13:08:01.774 error javascript.0 (7373) script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen: TypeError: DP is not a constructor 13:08:01.774 error javascript.0 (7373) at script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen:431:15 13:08:01.774 error javascript.0 (7373) at script.js.VIS_Scripte.Luftfeuchtigkeit_berechnen:914:3
Jetzt meckert der zusätzlich, dass er das Module dewpoint nicht findet. Das Module ist aber installiert und vorher wurde es ja scheinbar auch gefunden.
Zeile 914 gibts wieder nicht, 913 ist die letzte Zeile mit:setTimeout(main, 4000); // Zum Skriptstart ausführen
Und in 431 steht das mit var xdp:
// globale Skript-Variablen/Objekte //------------------------------------------------------------------------------ var xdp = new DP(hunn); var pbar = luftdruck(hunn); // individueller Luftdruck in bar (eigene Höhe)
-
@jojo58 sagte: Und in 431 steht das mit var xdp:
Das ist offenbar ein Folgefehler von
Error: Cannot find module 'dewpoint'
Das NPM-Modul "dewpoint" ist in der Konfiguration der Javascript-Instanz eingetragen?
-
@paul53 Ja klar, habe es hinzugefügt bevor ich das Script überhaupt kopiert hatte. Bei den anderen Versuchen wurde das ja auch nicht bemängelt. Jetzt habe ich das Modul nochmal gelöscht und neu hinzugefügt.
Und es funktioniert
Man war das eine schwere Geburt... Aber jetzt bin ich begeistert
-
@paul53 sagte in [Skript] Absolute Feuchte berechnen:
@jojo58 sagte: Und in 431 steht das mit var xdp:
Das ist offenbar ein Folgefehler von
Error: Cannot find module 'dewpoint'
Das NPM-Modul "dewpoint" ist in der Konfiguration der Javascript-Instanz eingetragen?
Hatte ich das nicht extra umgebaut das dieses Modul eben nicht mehr gebraucht wird? Seit Version 0.6.6 braucht es die nicht mehr. https://forum.iobroker.net/post/920343
-
@bananajoe und wo ist dieser code?
dann würde ich den Startpost bearbeiten und dorthin verlinken. -
@homoran sagte: wo ist dieser code?
Die letzte Version ist wohl 0.6.8.
-
@paul53 DANKE!
aber!
der erste Beitrag lässt sich nicht mehr editieren. Stammt noch aus der alten Forensoftware. Hier ist der Inhalt zu großMeint ihr ich könnte die alten Skript rauswerfen, oder sollten sie als Historie drin bleiben?
Ich werdenoch was versuchen, schaff ich aber heute nicht mehr
-
@homoran @paul53
Guten Morgen,die Version 0.6.8 habe ich nicht gesehen. Ich muss auch zugeben, das ich nicht alle 660 Beiträge gelesen habe. Ich habe natürlich die aktuelle Version ausprobiert und die lief sofort problemlos.
Gibt es nicht eine Möglichkeit, am Anfang solcher Beiträge eine Art Inhaltsverzeichnis über die geposteten Versionen zu erstellen? Ist nur eine Frage und keine Kritik. Bin ja froh das es solche Skripts überhaupt und vor allem auch noch kostenlos, gibt.
Bin mal wieder begeistert, was kluge Kopfe mit JavaScript alles möglich machen. Vielen Dank an alle Beteiligten.
Gruß Johannes
-
@jojo58 sagte in [Skript] Absolute Feuchte berechnen:
Gibt es nicht eine Möglichkeit, am Anfang solcher Beiträge eine Art Inhaltsverzeichnis über die geposteten Versionen zu erstellen?
as i told
@homoran sagte in [Skript] Absolute Feuchte berechnen:
@bananajoe und wo ist dieser code?
dann würde ich den Startpost bearbeiten und dorthin verlinken.@homoran sagte in [Skript] Absolute Feuchte berechnen:
@paul53 DANKE!
aber!
der erste Beitrag lässt sich nicht mehr editieren. Stammt noch aus der alten Forensoftware. Hier ist der Inhalt zu groß -
@homoran @paul53
Guten Morgen,
ich hab dann doch noch mal 2 Fragen zu dem Script, aber eines nach dem Anderen. Das Script legt ja den Datenpunkt "0_userdata.0.Raumklima.JSON" an und befüllt diesen mit den Räumen und Außensensoren. Bei mir steht bei allen Räumen bei den DETAILS_Lueftungsempfehlung ein NaN. Woran kann das liegen. Hier mal das Beispiel für die Küche:{ "Raum": "Kueche", "Feuchtegehalt_Absolut": "9.60", "relative_Luftfeuchtigkeit": "53.83", "Taupunkt": "13.40", "Temperatur": "23.26", "DETAILS.Enthalpie": "47.82", "DETAILS.Sättigungsdampfdruck": "28.54", "DETAILS.Dampfdruck": "15.36", "Dampfgewicht": "11.23", "DETAILS.Dampfgewicht_maximal": "20.86", "Lüftungsempfehlung": "false", "DETAILS_Lueftungsempfehlung.Lüften_b1_Entfeuchten": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_b2_Kühlen": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_b3_Auskühlschutz": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_b4_Raumfeuchte": "NaN", "DETAILS_Lueftungsempfehlung.Lüften_Hysterese": "NaN", "DETAILS_Lueftungsempfehlung.Lüftungsempfehlung_Beschreibung": "Fenster zu:<br>Entfeuchten: Außenluft ist zu feucht<br>" }
Gruß Johannes
-
@jojo58 Ich habe dasselbe Problem und noch keine Lösung gefunden. Hoffentlich bekommen wir eine Antwort.
-
Was habt ihr denn im Konfigurationsbereich eingestellt?
-
@ro75 Das sind die Konfigurationszeilen. Die Kommentare und den Rest habe ich hier weggelassen:
// ----------------------------------------------------------------------------- // Einstellungen Skriptverhalten, eigene Parameter - !! bitte anpassen !! // ----------------------------------------------------------------------------- // Wichtig: // betrifft den CONTROL Zweig bei den Raumdatepunkten (Offsets, Raummindestemperatur (Auskühlschutz)) var skriptConf = true; // Anwender kann sich aussuchen, ob er die Werte im Skript oder über die Objekte pflegen möchte // true: Raumwerte werden über das Skript geändert/überschrieben (var raeume) // false: Raumwerte werden über Objekte (z.B. im Admin, Zustände oder VIS) geändert var debug = false; // true: erweitertes Logging einschalten // eigene Parameter: var hunn = 44; // eigene Höhe über nn (normalnull), z.B. über http://de.mygeoposition.com zu ermitteln var defaultTemp = 17.00; // Default TEMP_Minimum, wenn im Raum nicht angegeben (Auskühlschutz, tiefer soll eine Raumtemperatur durchs lüften nicht sinken) var defaultMinFeu = 40.00; // Default Mindest Feuchte wenn nicht angegeben, standard ist 35.00. var defaultMaxFeu = 55.00; // Default Maximal Feuchte wenn nicht angegeben, standard ist 40.00. var cronStr = "*/30 * * * *"; // Zeit, in der alle Räume aktualisiert werden (da auf Änderung der Sensoren aktualisiert wird, kann die Zeit sehr hoch sein) var strDatum = "DD-MM-JJJJ SS:mm:ss";// Format, in dem das Aktualisierungsdatum für das JSON ausgegeben wird // ### Experteneinstellungen ### // Lüftungsengine var hysMinTemp = 0.5; // Default 0.5, Hysterese Mindesttemperatur (Auskühlschutz). Innerhalb dieser Deltatemperatur bleibt die alte Lüftungsempfehlung für den Auskühlschutz bestehen. var hysEntfeuchten = 0.2; // Default 0.3, Hysterese Entfeuhten: Delta g/kG absolute Luftfeuchte. In dem Delta findet keine Änderung der alten Lüftungsempfehlung statt // Skriptverhalten var delayRooms = 500; // Zeit in ms als Verzögerung, wie die Räume abgearbeitet werden // Pfade für die Datenpunkte: var pfad = "0_userdata.0.Raumklima" +"."; // Pfad unter dem die Datenpunkte in der Javascript-Instanz angelegt werden // Unterpfade unterhalb des Hauptpfads var raumPfad = "Raum" +"."; // Pfad unterhalb des Hauptpfads für die Räume var controlPfad = "CONTROL" +"."; // Pfad innerhalb des Raums für Kontrollparameter var detailPfad = "DETAILS" +"."; // Pfad innerhalb des Raums für Detailparameter ("" und ohne ".", wenn kein Detailpfad gewünscht) var detailEnginePfad = "DETAILS_Lueftungsempfehlung" + "."; // Pfad innerhalb des Raums für Detailparameter zur Lüftungsengine var infoPfad = "Skriptinfos" +"."; // Pfad für globale Skriptparameter zur Info // ----------------------------------------------------------------------------- // Räume mit Sensoren, Parametrisierung - !! bitte anpassen !! // ----------------------------------------------------------------------------- // jeder Sensor darf nur einmal verwendet werden! // wird kein Aussensensor angegeben, wird der Sensor als Aussensensor behandelt! var raeume = { // Keine Leerzeichen (Name wird als Datenpunktname verwendet!) // Sensoren Aussen "Nordseite" : { "Sensor_TEMP" : 'hm-rpc.1.000EDF29AF0CB5.1.ACTUAL_TEMPERATURE'/*TS-Nordseite:1 ACTUAL TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.1.000EDF29AF0CB5.1.HUMIDITY'/*TS-Nordseite:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0 }, "Suedseite" : { "Sensor_TEMP" : 'hm-rpc.1.000EDF29AF0956.1.ACTUAL_TEMPERATURE'/*TS-Südseite:1 ACTUAL TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.1.000EDF29AF0956.1.HUMIDITY'/*TS-Südseite:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0 }, "Das Wetter" : { "Sensor_TEMP" : 'daswetter.0.NextHours.Location_1.Day_1.current.temp_value'/*temperature*/, "Sensor_HUM" : 'daswetter.0.NextHours.Location_1.Day_1.current.humidity_value'/*humidity*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0 }, // Sensoren Innen "Kueche" : { "Sensor_TEMP" : 'zigbee.0.a4c1383c6452cbc7.temperature'/*Temperature*/, "Sensor_HUM" : 'zigbee.0.a4c1383c6452cbc7.humidity'/*Humidity*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Nordseite" }, "Badezimmer" : { "Sensor_TEMP" : 'hm-rpc.0.SEQ2821109.1.TEMPERATURE'/*WT-Bad:1 TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.0.SEQ2821109.1.HUMIDITY'/*WT-Bad:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Nordseite" }, "Buero" : { "Sensor_TEMP" : 'hm-rpc.0.LEQ1461486.1.TEMPERATURE'/*WT-Büro:1 TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.0.LEQ1461486.1.HUMIDITY'/*WT-Büro:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Nordseite" }, "Wohnzimmer" : { "Sensor_TEMP" : 'hm-rpc.0.LEQ1461588.1.TEMPERATURE'/*WT-Wohnzimmer:1 TEMPERATURE*/, "Sensor_HUM" : 'hm-rpc.0.LEQ1461588.1.HUMIDITY'/*WT-Wohnzimmer:1 HUMIDITY*/, "Sensor_TEMP_OFFSET" : 0.0, "Sensor_HUM_OFFSET" : 0, "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben "Aussensensor" : "Suedseite" }, // "Schlafzimmer" : { // "Sensor_TEMP" : 'zigbee.0.xxx3.temperature'/* Sensor Badezimmer Temperatur */, // "Sensor_HUM" : 'zigbee.0.xxx3.humidity'/* Sensor Badezimmer Feuchtigkeit */, // "Sensor_TEMP_OFFSET" : 0.0, // "Sensor_HUM_OFFSET" : 0, // "TEMP_Minimum" : 9.00, // oder Zieltemperatur in Form von: 20.00 angeben // "Aussensensor" : "Suedseite" // }, // "Flur" : { // "Sensor_TEMP" : 'zigbee.0.xxx3.temperature'/* Sensor Badezimmer Temperatur */, // "Sensor_HUM" : 'zigbee.0.xxx3.humidity'/* Sensor Badezimmer Feuchtigkeit */, // "Sensor_TEMP_OFFSET" : 0.0, // "Sensor_HUM_OFFSET" : 0, // "TEMP_Minimum" : defaultTemp, // oder Zieltemperatur in Form von: 20.00 angeben // "Aussensensor" : "Nordseite" // }, };
-
@jojo58 sagte in [Skript] Absolute Feuchte berechnen:
"Das Wetter"
Wenn dieser Teil nicht genutzt wird - weg.
EDIT: Liefern "hm-rpc.1.000EDF29AF0CB5.1." und "hm-rpc.1.000EDF29AF0956.1." und "zigbee.0.a4c1383c6452cbc7." auch valide Daten?