ioBroker: Intelligente Belüftung des ganzen Hauses (+ Amazon Alexa Funktion)
Herzlich Willkommen bei IoT-Blog,
im heutigen Video zeige ich euch eine Erweiterung des kürzlich vorgestellten Skriptes zur intelligenten Belüftung eines Raumes. Die Erweiterung ermöglicht es, das Skript für mehrere Räume zu nutzen und birgt einige neue Funktionen und Optimierungen. Die neuen Funktionen sowie die Konfiguration wird Schritt für Schritt im folgenden Video erklärt.
Das Skript findest du auf GitHub.
Falls Ihr Fragen, Wünsche, Videoideen oder andere Anregungen habt, stellt diese gerne in Form eines Kommentars oder schreibt eine Mail an info@iot-blog.net.
Hallo Moritz,
zunächst vielen Dank dass Du auf die Wünsche eingegangen bist und das Thema in der Form umgesetzt hast, klasse 🙂
Die Idee mit der parametrisierbarkeit von Threshold und minHumidity ist ebenfalls eine prima Erweiterung.
Wenn ich es aber richtig sehe, kann die Übergabe der neuen Variablen so nicht funktionieren, da Du ja bereits in der Funktion Werte mitgibst und nicht die der neuen States, oder?
humidityThreshold: 2,
minHumidity: 45,
Hier werden doch, wie zuvor, feste Werte übergeben:
„function ventilateRoom(relHumidityInside, tempInside, relHumidityOutside, tempOutside, threshold=2.0, minHumidity=50.0)
Grüße
Fabian
Hi Fabian,
danke für dein positives Feedback. Die Werte in der function sind Default Parameter, sprich wenn kein Wert für dieses Attribut mitgegeben wird, werden diese angezogen. Nachlesen kannst du das z. B. hier: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Functions/Default_parameters
beste Grüße
Moritz
Okay, Danke, wieder etwas dazu gelernt 😉
Hallo Moritz,
super und vielen vielen Dank dass Du das Thema ventilationCheckMultiRoom umgesetzt hast. 🙂 🙂 🙂
Aber ich bekomme das mit dem importieren in iobroker (Script Engine 4.1.12) nicht hin.
kannst du mir da weiterhelfen.
Vielen Dank im voraus für deine Unterstützung.
beste Grüße
Markus
Hallo <moritz,
vielen Dank für das tolle Video. Es hat mir, obwohl absoluter Anfänger, prima geholfen. Damit ist es mir nun möglich meinen Keller optimal zu lüften. Ich möchte die Lüftungsempfehlung später dazu nutzen um einen automatischen Fensteröffner zu bedienen.
Nun wollte ich das Skript auf mehrere Räume erweitern. Im Video sagst du aber, man darf die Einträge nicht recyceln bzw weidervewenden. ICh hab dennoch verscuht meinen mittels MQtt angesteuerten ESP für Außen mit mit dem Keller zu verbinden (Klaptt) UND ihn auch für einen Wandtehrmostat von Homaticip zu nutzen. Das klappt leider nicht.
Das Ganze sieht so aus:
{
roomName: `Keller`,
outsideHumidityState: 'mqtt.0.VillaAussen.Aussentemperatur.Humidity'/*/VillaAussen/Aussentemperatur/Humidity*/,
outsideTemperatureState: 'mqtt.0.VillaAussen.Aussentemperatur.Temperature'/*/VillaAussen/Aussentemperatur/Temperature*/,
insideHumidityState: 'mqtt.0.Hochheim.Keller.Humidity'/*/Hochheim/Keller/Humidity*/,
insideTemperatureState: 'mqtt.0.Hochheim.Keller.Temperature'/*/Hochheim/Keller/Temperature*/,
humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
minHumidity: 45 /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
},
{
roomName: `schlafraumtest`,
outsideHumidityState: 'mqtt.0.VillaAussen.Aussentemperatur.Humidity'/*/VillaAussen/Aussentemperatur/Humidity*/,
outsideTemperatureState: 'mqtt.0.VillaAussen.Aussentemperatur.Temperature'/*/VillaAussen/Aussentemperatur/Temperature*/,
insideHumidityState: 'hm-rpc.0.000A9709A0DD18.1.HUMIDITY'/*Schlafzimmer Wandthermostat:1 HUMIDITY*/,
insideTemperatureState: 'hm-rpc.0.000A9709A0DD18.1.ACTUAL_TEMPERATURE'/*Schlafzimmer Wandthermostat:1 ACTUAL TEMPERATURE*/,
humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
minHumidity: 45 /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
}
];
Keller klappt schlafraumtest leifert keine Werte.
Kannst du mit einen Tipp geben wo mein Fehler ist?
Für deine Hilfe wäre ich serh dankbar zumal das bei mir den WAF enorm eröhen würde 🙂
Hi, freut mich dass dir das Video geholfen hat.
Soweit ich das in Erinnerung habe, darfst du den Außensensor wiederverwenden (macht ja auch Sinn) und der für innen muss eine einmalige ID haben, wie es bei dir auch der Fall ist.
Evtl. musst du nur mal hm-rega neustarten, damit die Werte erstmalig beschrieben werden. Dies passiert nämlich nur bei Aktualisierung eines der
States. Sprich, wenn der Wert von
oder
sich ändert.
beste Grüße und einen schönen Abend
Moritz
Hui das ging schnell:-)
Mit dem Neustart des HM-rega habe ich nun Werte bekommen. Offensichtlich die, die beim Neustart relevant waren. Ein erneuter Neustart ergab neue Werte 🙁 Nur wird dann nichts mehr aktualisiert. Liegt also nicht an dem Skript. Ich bekomme keine aktuellen HM-Werte in das Skript. Lese ich mir die Werte dagegen in Vis aus, sind sie ok, Hm…. Muss also was mit HM in richtung Skript zu tun haben.
Vielen Dank aber bis hierher.
so nun lief es. Es war eine Kombination aus Unwissenheit und nicht aufgepasst. der obige schlafraumtestwandthermostat war nicht erreichbar. Daher auch keine Veränderung der Werte. (nicht aufgepasst) nach dem ich dann deine Antwort ein paar mal gelesen habe, habe ich auch verstanden, dass dazu keine Aktualisierung der Werte erfolgt wenn der Insidewert sich nicht ändert. (Unwissenheit)
da ich das Problem der fehlerhaften Gerätekommunikation mit einem entfernten Türkontakt hatte, habe ich heute eine externe Antenne an den Pi gebastelt. nun laufen rpc0 und rpc1 nicht mehr :-((((
Log aus dem IOBroker: init error: Error: Unknown XML-RPC tag ‚TITLE‘
da hab ich wohl was verbraten. Mist.
Vielen Dank für deine Hilfe das hat mir schon mal gehörig weitergeholfen. Wenn ich die Kiste wieder hinbekomme.
Bei solchen Problemen, am besten im Forum fragen. Allerdings ändert die Antenne ja nur die Kommunikation zwischen den Komponenten und der CCU. Kannst du über die CCU noch deine Geräte steuern?
Alles fast wieder gut, nachdem ich die alte Antenne wieder dran habe. Merkwürdig. Einzig No Value found for cpu_frequency auf rpi2 ist übrig.
Zu deinem Script.
Das läuft mittlerweile mit 5 Aktoren. 2 Esp und 3 Homatic Wandthermostaten. Im Gegensatz zu anderen Scripten bin ich sehr schnell damit warm geworden und konnte so den WAF meiner Smarthomesteuerung auf einem Tablet enorm ehöhen. Suuuuuuper.
Einzig Alexa benötige ich nicht. Da ich nicht in jedem Raum mit Thermostat Alexa habe . Kann ich den teil einfach rausnehmen bzw. Auskommentieren?
Außer es wäre möglich Alexa zu fragen in welchem Raum muss ich lüften und Alexa zählt dann auf.?
Viele Grüße
Smatjes
Du kannst die Alexa Funktionalität entfernen. Dazu (Zeilenangaben vergleiche GitHub) Zeile 34, 60-71, 75-107 auskommentieren/entfernen.
Eine Übersicht via Alexa, welcher Raum gelüftet werden sollte, wäre auch möglich. Man bräuchte wieder einen (Trigger) Datenpunkt in ioBroker, der durch eine Alexa-Routine (z. B. „Alexa, wo soll ich lüften?“) geändert wird. Auf die Änderung hin müsste ein Skript reagieren und die Sprachausgabe über Alexa2-Adapter vornehmen.
hallo Moritz,
nun nläuft dein Script hier schon ne ganze Weile und ich habe mehrere Räume angeschlossen. das klappt suuuuper.
Ich nutze es z.B. dafür eine Lüfterungssteuerung im Keller zu realisieren. nun möchte ich über das Script einen Schalter für einen Ventilator an und ausschalten, wenn die Empfehlung für den Keller auf lüften steht. Geht das im Script oder nur direkt im iobroker. Wenn, kannst du das Script ergänzen?
vielen Dank
Smatjes
Hi Smatjes,
freut mich, dass das Skript so gut läuft.
Ich würde das alles relativ modular und übersichtlich halten und an deiner Stelle mit einem separaten Skript darauf reagieren um den Ventilator an-/auszuschalten.
z. B.
2
3
4
5
6
7
8
9
10
11
12
// Triggere wenn Lüftungsempfehlung sich ändert
on(`javascript.0.keller.ventilationRecommendation`, obj => {
if (obj.state.val) {
setState(`***STATE UM VENTILATOR ZU AKTIVIEREN***`, true, false);
if (logging) log(`Schalte Ventilator im Keller ein, da Lüftungsempfehlung vorhanden`, `info`)
} else {
setState(`***STATE UM VENTILATOR ZU AKTIVIEREN***`, false, false);
if (logging) log(`Schalte Ventilator im Keller aus, da keine Lüftungsempfehlung mehr vorhanden`, `info`)
} // endElse
});
muss evtl ersetzt werden, falls er anders heißt sowie die States für den Ventilaor.
beste Grüße
Moritz
Hi Moritz,
nachdem ich das Script ja seit März erfolgreich im Einsatz nutze habe ich Erweiterungen vorgenommen.
Ein kleines Problem habe ich damit, eine Email bei bestehender Lüftungsempfehlung 1x zu senden, und danach erst wieder nach einer Verzögerung von 15min. und nicht ständig bei jedem erneuten Trigger Event.
Hier der relevante Codeabschnitt:
if(jsonRes.ventilate == false) {
setState(`Ventilation.${room.roomName}.sendEmail`, false); // Aktuell keine Lüftungsempfehlung, also sendEmail auf FALSE setzen für neue Empfehlungen
} else { // Es liegt eine Lüftungsempfehlung vor
// Email erstellen
if ((enableEmail == true) && // Email gwünscht
(sendEmail == false) && // Email wurde noch nicht gesendet
(getState(‚hm-rega.0.12785‘).val == false) && // Schließzylinder abgeschlossen
getState(„hm-rega.0.42082“).val == true) { // Anwesenheit prüfen
sendTo(„email.0“, „send“, {
text: ([‚Die Haussteuerung hat eine zu hohe Luftfeuchtigkeit im ‚,room.roomName,‘ erkannt.\n\nDie relative Luftfeuchtigkeit ist mit ‚, relHumidityInside,’% zu feucht!\n\n‘,
‚Die absolute Luftfeuchtigkeit beträgt ‚, jsonRes.insideAbsoluteHumidity, ‚ g/m³\n\nAußen sind es im Vergleich nur ‚,
getState(‚javascript.0.Ventilation.Garten.outsideAbsoluteHumidity‘).val,‘ g/m³\n\nSchöne Grüße\nDeine Haussteuerung‘,“].join(“)),
to: getState(„javascript.0.Email.Eigene.Fabian“).val,
subject: ([‚Lüftungsempfehlung ‚,room.roomName,].join(“))
});
setState(`Ventilation.${room.roomName}.sendEmail`, jsonRes.ventilate, true); // Emailstatus als gesendet kennezeichnen (sendEmail=true)
setStateDelayed(`Ventilation.${room.roomName}.sendEmail`, false, 900000); // Emailstatus nach 15 min (sendEmail=false) um erneut Email zu versenden
} // end Email
}
// ###############################
Kannst Du erkennen was an meiner Logik falsch ist?
Viele Grüße
Fabian
obiger Post kann ersatzlos gelöscht werden
Hallo Fabian,
bin leider die letzten Tage nicht dazu gekommen mir das Problem anzuschauen. Hast du es selbst lösen können?
Ansonsten ist das Forum meist eine gute Anlaufstelle um schnell Unterstützung zu finden, da ist etwas mehr Manpower dahinter. 😉
beste Grüße
Moritz
Hallo Moritz,
Nein, ich konnte das Problem nicht lösen, aber ich würde den aktuellen Code gerne sauber einbetten.
Wie sind die Steuerzeichen hier im Forum dazu?
Grüße
Fabian
z. B [cc lang=“javascript“]Code[/cc]
hi, super Video super erklärt. leider sind bei mir alle Werte NULL.
Aber nur im Multiroom. Wenn ich das einzelne nehme da geht es ..
Was meinst du in diesem Fall mit Multiroom?
Hallo Moritz,
ich wollte mich auch für das Video bedanken, doch ich habe das gleiche Problem und bekomme nur Null g/m3 angezeigt.
Was glaubst du, dass ich falsch gemacht habe?
Die Werte werden soweit ich mich erinnere nicht initial berechnet. Sprich der Auslöser muss sich erst ein Mal ändern, damit die initiale Berechnung stattfindet.
Vielen Dank für Ihre Antwort.
Das Skript läuft jetzt seit ca 36 Stunden und der Auslöser hat sich bestimmt schon geändert, leider bekomme ich immer noch nur Null angezeigt.
Haben Sie vielleicht auch noch eine andere Idee?
Zeige mal bitte die Konfiguration von
2
3
4
5
6
7
8
9
10
11
12
const rooms = [
{
roomName: `sleepingRoom`,
outsideHumidityState: `***FILL IN YOUR STATE***`,
outsideTemperatureState: `***FILL IN YOUR STATE***`,
insideHumidityState: `***FILL IN YOUR STATE***`,
insideTemperatureState: `***FILL IN YOUR STATE***`,
humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
minHumidity: 45 /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
}
];
const javaScriptInstance = 0;
const rooms = [
{
roomName: `schlafzimmer`,
outsideHumidityState: `’hm-rpc.1.00181A499045E4.1.HUMIDITY’/*Wetterstation HUMIDITY*/`,
outsideTemperatureState: `’hm-rpc.1.00181A499045E4.1.ACTUAL_TEMPERATURE’/*Wetterstation ACTUAL TEMPERATURE*/`,
insideHumidityState: `’hm-rpc.1.000C9A499B491F.1.HUMIDITY’/*Thermostat Schlafzimmer HUMIDITY*/`,
insideTemperatureState: `’hm-rpc.1.000C9A499B491F.1.ACTUAL_TEMPERATURE’/*Thermostat Schlafzimmer ACTUAL TEMPERATURE*/`,
humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
minHumidity: 45 /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
},
Hallo Herr Heusinger,
vielen Dank für das sehr informative Video.
Ich habe das Problem, dass ich als Werte nur Null g/m3 angezeigt bekomme.
Was mach ich falsch?
Grüße
Mimmo
Hoffe, dass es so ok ist.
Ich wusste nicht genau wie ich Ihnen die Konfiguration zusenden soll.
Hi,
klar ist i. O.
probiere es mal so:
2
3
4
5
6
7
8
9
10
11
12
13
const rooms = [
{
roomName: `schlafzimmer`,
outsideHumidityState: `hm-rpc.1.00181A499045E4.1.HUMIDITY`, /*Wetterstation HUMIDITY*/
outsideTemperatureState: `hm-rpc.1.00181A499045E4.1.ACTUAL_TEMPERATURE`, /*Wetterstation ACTUAL TEMPERATURE*/
insideHumidityState: `hm-rpc.1.000C9A499B491F.1.HUMIDITY`, /*Thermostat Schlafzimmer HUMIDITY*/
insideTemperatureState: `hm-rpc.1.000C9A499B491F.1.ACTUAL_TEMPERATURE`, /*Thermostat Schlafzimmer ACTUAL TEMPERATURE*/
humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
minHumidity: 45 /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
},
Hallo,
vielen Dank jetzt klappt es.
Danke
Hi Moritz,
cooles script 🙂
ich habe auch das Problem das nur null als Wert angezeigt wird.
Config sieht so aus:
{
roomName: `Schlafzimmer`,
outsideHumidityState: `’netatmo.0.Tannenbergstraße-(Wohn).Balkon-Norden.Humidity.Humidity’/*Humidity*/`,
outsideTemperatureState: `’netatmo.0.Tannenbergstraße-(Wohn).Balkon-Norden.Temperature.Temperature’/*Temperature*/`,
insideHumidityState: `’homee.0.TemperatureAndHumiditySensor-108.RelativeHumidity-702’/*Temperatur Schlafzimmer RelativeHumidity*/`,
insideTemperatureState: `’homee.0.TemperatureAndHumiditySensor-108.Temperature-700’/*Temperatur Schlafzimmer Temperature*/`,
humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
minHumidity: 45 /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
}
Finde aber den Fehler nicht?
Danke fürs Helfen
Hallo Moritz,
erstmal vielen lieben Dank für die Arbeit die du hier reinsteckst und das du das ganze dann auch noch mit uns teilst, super. Vorweg ich mit ziemlicher anfänger in der ganzen iobroker und skript geschichte… Ich habe mir jetzt dein Skript kopiert und die für mich benötigten Räume hinzugefügt sowie die vorhandenen Sensoren eingefügt.
Nach dem starten des Skripts erhalte ich jetzt allerdings folgende Fehlermeldung:
18:31:08.478 error javascript.0 (32462) script.js.common.FensterRollosTüren.Lüftungsempfehlung compile failed: at script.js.common.FensterRollosTüren.Lüftungsempfehlung:94
Woran kann das liegen bzw was kann ich dagegen tun, vielen lieben Dank schonmal vorab.
Gruß, Andy
Was steht denn bei dir im Editor in Zeile 94?
Oh Gott, vielen Dank! Das war zuuu offensichtlich 😉
Es hat bei der Aufzählung der Räume ein Komma zur Abtrennung nach den {} gefehlt.
Sorry >.<
Hi,
ich fände einen zusätzlichen Datenpunkt, der die Anzahl der anstehenden Lüftungsempfehlungen enthält nicht schlecht. Weiß jetzt nicht wie groß der Aufwand ist das zu implementieren, aber ich werfe es jetzt einfach mal als Verbesserungs- bzw. Erweiterungsvorschlag in den Raum.
Gute Idee, ich habe es mal vermerkt auf GitHub.
.
Danke für’s implementieren…
Da ist m.E. noch ein Fehler im Script – Bereich Counter;
let counter muss mit „0“ initialisiert werden, sonst steht die Variable immer auf NaN
// now update our counter by checking all rooms recommendation
let counter = 0;
for (const room of rooms) {
const val = getState(`Lüftungsempfehlung.${room.roomName}.ventilationRecommendation`).val;
counter = counter + val;
}
console.log(counter);
Init mit let counter;
javascript.0 (21582) script.js.common.Lüftung-2: NaN
Init mit let counter = 0;
javascript.0 (21582) script.js.common.Lüftung-2: 1
Guter Punkt, der Counter kam letztens erst dazu. Werds mal fixen auf GitHub.
Hallo Moritz.
Vielleicht kannst du mir helfen.
Ich trage die Sensoren ein, jedoch bekomme ich im Log lauter Fehler.
Danke Lg. Toni
2021-01-12 08:32:04.166 – info: javascript.0 (103218) Stop script script.js.common.Absolute_Luftfeuchte
2021-01-12 08:32:04.180 – info: javascript.0 (103218) Start javascript script.js.common.Absolute_Luftfeuchte
2021-01-12 08:32:04.184 – error: javascript.0 (103218) script.js.common.Absolute_Luftfeuchte compile failed:
at script.js.common.Absolute_Luftfeuchte:40
2021-01-12 08:32:04.184 – error: javascript.0 (103218) await createStateAsync(namespace ? `${namespace}.totalVentilationRecommendations` : `totalVentilationRecommendations`, {
2021-01-12 08:32:04.184 – error: javascript.0 (103218) ^^^^^
2021-01-12 08:32:04.185 – error: javascript.0 (103218) SyntaxError: await is only valid in async function
2021-01-12 08:32:04.185 – error: javascript.0 (103218) at new Script (vm.js:83:7)
2021-01-12 08:32:04.185 – error: javascript.0 (103218) at Object.createScript (vm.js:277:10)
2021-01-12 08:32:04.185 – error: javascript.0 (103218) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1280:28)
2021-01-12 08:32:04.186 – error: javascript.0 (103218) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1503:37)
2021-01-12 08:32:04.186 – error: javascript.0 (103218) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1559:17)
2021-01-12 08:32:04.186 – error: javascript.0 (103218) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:1140:17)
2021-01-12 08:32:04.186 – error: javascript.0 (103218) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17)
2021-01-12 08:32:04.186 – error: javascript.0 (103218) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
2021-01-12 08:32:04.186 – error: javascript.0 (103218) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
2021-01-12 08:32:04.187 – error: javascript.0 (103218) at process._tickCallback (internal/process/next_tick.js:68:7)
const logging = true;
const namespace = „;
const rooms = [
{
roomName: `Badezimmer`,
outsideHumidityState: ‚zigbee.2.00158d00042501d6.humidity’/*Humidity*/,
outsideTemperatureState: ‚zigbee.2.00158d00042501d6.temperature’/*Temperature*/,
insideHumidityState: ‚zigbee.1.00158d000464e207.humidity’/*Humidity*/,
insideTemperatureState: ‚zigbee.1.00158d000464e207.temperature’/*Temperature*/,
humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
minHumidity: 45 /* YOU ARE ALLOWED TO CHANGE IF YOU WANT */
}
Hallo Anton,
die neuste Version benötigt eine sehr neue Version des Javascript Adapters, ich habe gerade nicht auf dem Schirm ob die Version schon stable ist. Bis dahin kannst du auf jeden Fall die alte Version des Scripts von hier nehmen.
Ich danke dir Moritz.
Hallo Moritz,
ich habe auch die alte Version deines tollen Scripts benutzt aus dem vorrangegangenem Kommentar.
Alle Variablen werden angelegt, leider werden aber bei allen „null g/m^3“ ausgegeben.
Habe das Script kopiert und die Geräte gesetzt, in meinem Fall, hast du da noch eine Idee?
roomName: `sleepingRoom`,
outsideHumidityState: `hm-rpc.1.000EDBE9992E1E.1.HUMIDITY`,
outsideTemperatureState: `hm-rpc.1.000EDBE9992E1E.1.ACTUAL_TEMPERATURE`,
insideHumidityState: `hm-rpc.1.000E5BE993FD2D.1.HUMIDITY`,
Vergiss meine Dummheit, habe meinen fehler gefunden. Hab die Adapternamen gekürzt wie oben ersichtlich, so funktionierts:
outsideHumidityState: `’hm-rpc.1.000EDBE9992E1E.1.HUMIDITY’/*HmIP-STHO 000EDBE9992E1E:1 HUMIDITY*/`,
outsideTemperatureState: `hm-rpc.1.000EDBE9992E1E.1.ACTUAL_TEMPERATURE’/*HmIP-STHO 000EDBE9992E1E:1 ACTUAL TEMPERATURE*/`,
insideHumidityState: `’hm-rpc.1.000E5BE993FD2D.1.HUMIDITY’/*HmIP-STH 000E5BE993FD2D:1 HUMIDITY*/`,
insideTemperatureState: `’hm-rpc.1.000E5BE993FD2D.1.ACTUAL_TEMPERATURE’/*HmIP-STH 000E5BE993FD2D:1 ACTUAL TEMPERATURE*/`,
Hallo Moritz,
Vorschlag für eine Erweiterung:
Die Möglichkeit einen zusätzlichen Datenpunkt „CO2 Gehalt“ in einem Raum zu definieren und diesen dann auch in die Berechnung für die Lüftungsempfehlung mit einbeziehen. Grenzwert 1000ppm?
Hallo Moritz,
vielen Dank für das tolle Script. Ich habe ein paar Anregungen für Dich.
1. pro Raum wird der Wert von outside humidity und outside temperatur abgefragt. Wäre es wegen der Performance nicht besser eine Variable anzulegen und bei jedem Raum auf diese Variable zuzugreifen?
2. Der Wert für humidityThreshold und minHumidity muss pro Raum händisch eingetragen werden. Ich wünsche mir jeweils einen Datenpunkt um die Werte zentral zu pflegen. Ich glaube nicht, dass jemand pro Raum unterschiedliche Werte einträgt.
3. Im Output (Datenpunkte bei Objekte) fehlen mir die beiden Werte humidityThreshold und minHumidity zwecks Kontrolle und Weiterverarbeitung in einer VIS.
Vielleicht kannst Du den einen anderen Gedanke aufgreifen.
Hallo Moritz,
ich möchte mich lediglich für das sehr hilfreiche Script bedanken!
Nutze es für drei Räume und hat auf Anhieb alles funktioniert!
Gruß
Stefan