NEWS
Taupunkt als berechneter Datapoint?
-
Ich bin derzeit ein bisschen am Skripten, habe zwar etwas Javascript-Erfahrung, aber mir erschließen sich die iobroker Konzepte noch nicht gänzlich. Auch habe ich keine npm-Erfahrung.
In meinen Skripten zur Heizungssteuerung brauche ich den "Taupunkt". Liefern tut mir das Wandthermostat "rel. Luftfeuchte" und "aktuelle Temperatur".
Ich möchte folgende Dependency nutzen: https://www.npmjs.com/package/dewpoint
Auf der Konsole habe ich folgendes eingegeben:
npm install dewpoint --save
War anscheinend auch erfolgreich.
Trotzdem wirft ein Skript, welches dewpoint wie im Beispiel benutzt folgenden Fehler:
Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/dewpoint'
Muss ich das irgendwo anders installieren?
Weiterhin hätte ich das Ergebnis der Javascript-Funktion gerne als Datenpunkt vom Typ Skript (?!). Also immer dynamisch berechnet aufgrund der rel% und Temp°C, so dass ich diesen Datenpunkt wie jeden anderen Datenpunkt in meinen Skripten einfach auslesen kann. Geht das?
-
NPM-Module, die im Javascript-Adapter verwendet werden, müssen in der Konfiguration der Javascript-Instanz unter "Zusätzliche NPM-Module" eingetragen werden. Sie werden dann automatisch richtig installiert.
-
NPM-Module, die im Javascript-Adapter verwendet werden, müssen in der Konfiguration der Javascript-Instanz unter "Zusätzliche NPM-Module" eingetragen werden. Sie werden dann automatisch richtig installiert. `
Ahhh..probiere ich sofort. DankeEdit: Sieht gut aus…
javascript.0 2018-01-21 21:51:14.359 info dewpoint@1.0.0 node_modules/iobroker.javascript/node_modules/dewpoint
javascript.0 2018-01-21 21:53:29.064 info script.js.common.Anwesenheit.Trulla: Wohnzimmer: Temperatur21.5°C, rel. Luftfeuchtigkeit42%, Taupunkt8.040845514332531°C
-
gut funktioniert das Raumklima Script in der Version 0.52 bei mir:
-
Weiterhin hätte ich das Ergebnis der Javascript-Funktion gerne als Datenpunkt vom Typ Skript (?!). Also immer dynamisch berechnet aufgrund der rel% und Temp°C, so dass ich diesen Datenpunkt wie jeden anderen Datenpunkt in meinen Skripten einfach auslesen kann. Geht das? `
Jemand noch Anmerkungen dazu? Geht sowas überhaupt? Ich habe unter dem "Objects"-Tab den Typ "Skript" gesehen und vermute dahinter so etwas, aber ich kann keinen solchen Datenpunkt anlegen. Zumindest war ich bisher zu blöd dazu.
-
Moment, das Script legt doch pro Raum eine Reihe Datenpunkte an.
Reichen die nicht?
Gruß,
Eric
Von unterwegs getippert
-
Moment, das Script legt doch pro Raum eine Reihe Datenpunkte an.
Reichen die nicht? `
Bestimmt, wenn Du das so sagst, aber ich weiß ehrlich gesagt nicht "wie". Welches Skript meinst Du jetzt genau, welches Datenpunkte anlegt? Das von lobomau gepostete Skript?Auch habe ich das Konzept mit den "Enums" noch gar nicht gecheckt, wohinter sich ja wohl die Räume "rooms" verbergen. Bei mir sieht das sehr jungfräulich aus da.
Vermutlich meinst States, die im Skript so angelegt werden, oder?
createState('Aussen.Taupunkt', 0);
-
Ich habe unter dem "Objects"-Tab den Typ "Skript" gesehen und vermute dahinter so etwas, aber ich kann keinen solchen Datenpunkt anlegen. `
Datenpunkte können nicht vom Typ "Skript" sein. Für den Taupunkt braucht es einen Datenpunkt vom Typ "Zahl" ('number') mit der unit '°C'.
@Fabian:immer dynamisch berechnet aufgrund der rel% und Temp°C, `
Eine dynamische Berechnung erfolgt, wenn man auf den Temperatur-Datenpunt und den rel. Feuchte-Datenpunkt triggert und jedesmal die Berechnung durchführt, so wie in http://www.iobroker.net/docu/?page_id=3651&lang=de. -
Enum.rooms sind die Räume aus der CCU und enum.function die Gewerke aus der CCU.
Ja, ich mein genau das Script.
Wenn Du das nutzt, werden Dir pro Raum, den Du definiert hast, folgende Datenpunkte angelegt
Da sind doch die, die Du suchst, oder?
Gruß,
Eric
-
Ja, hab's geschafft! Dankeschön!
(Wenn ich keine CCU habe, dann interessieren mich die "Enums" also nicht?)
-
Moin,
Wenn ich keine CCU habe, dann interessieren mich die "Enums" also nicht? `
nun ja …Die enum.rooms und enum.function werden zwar automatisch durch die CCU (bzw. über den hm-rega) befüllt, aber Du kannst sie auch selber befüllen. Du könntest z.B. Nicht-Homematic-Geräte / -Datenpunkte manuell den Räumen und Gewerken zuordnen und dies dann z.B. in Scripten nutzen.
Deswegen wird enum.rooms und enum.functions auch nicht automatisch durch den hm-rega bereinigt ... dann wären alle manuellen Eingaben weg.
Gruß,
Eric