NEWS
[Vorlage] Heizungsthermostatsteuerung - Script
-
Danke. Es kann so einfach sein.
Hier die Datenpunkte:
Thermostat: maxcul.0.KEQ0352843.desiredTemperature
Wandthermostat: maxcul.0.LEQ1331051.desiredTemperature
-
Thermostat: maxcul.0.KEQ0352843.desiredTemperature
Wandthermostat: maxcul.0.LEQ1331051.desiredTemperature `
noch eine Frage. Ich nehme mal an, dass das Wandthermostat das Thermostat steuert - korrekt ?
Also brauchst du nur das Wandthermostat für die Wunschtemperatur ?
oder sind das zwei Geräte, unabhängig von einander in zwei Räumen ?
vG Looxer
-
Thermostat und Wandthermostat befinden sich im gleichen Raum. Korrekt, das Wandthermostat steuert das Thermostat.
Es gibt auch noch zwei Fensterkontakte.
Diese haben die Datenpunkte maxcul.0.KEQ0186726.isOpen und maxcul.0.KEQ0190297.isOpen.
Wenn ich den einen Raum zum Laufen bekomme. Werde ich dann die restlichen angehen.
Beste Grüße
-
Thermostat und Wandthermostat befinden sich im gleichen Raum. Korrekt, das Wandthermostat steuert das Thermostat.
Es gibt auch noch zwei Fensterkontakte.
Diese haben die Datenpunkte maxcul.0.KEQ0186726.isOpen und maxcul.0.KEQ0190297.isOpen. `
jetzt doch noch mal weitere Fragen.
-
wenn du den Datenpunkt "desired temperature" aenderst, dann wird auch das Thermostat mit der Solltemperatur versehen ?
-
und wie sieht das aus mit den Sensoren ? Ich nehme an, dass wir die gar nicht berücksichtigen müssen, da sie automatisch die Wirkung haben, dass die Solltemperatur auf Absenktemperatur gesetzt wird ?
-
wie hoch ist die Absenktemperatur ?
vG Looxer
-
-
Hi,
ein super Skript das bei mir zuverlässig seinen Dienst verrichtet.
Jetzt hätte ich aber mal eine Frage. Wie bekomme ich die Temperatur aus den Eingabefeldern von dem Wochenplan wenn ich das Profil ändern möchte. Wollte etwas ändern und dadurch sind zwei Spalten nicht mehr nötig. Die Uhrzeit hab ich wegbekommen aber die Temperatur nicht, die wird im View immer angezeigt.
Wäre super wenn du mir einen Tip geben könntest.
-
jetzt doch noch mal weitere Fragen.
-
wenn du den Datenpunkt "desired temperature" aenderst, dann wird auch das Thermostat mit der Solltemperatur versehen ?
-
und wie sieht das aus mit den Sensoren ? Ich nehme an, dass wir die gar nicht berücksichtigen müssen, da sie automatisch die Wirkung haben, dass die Solltemperatur auf Absenktemperatur gesetzt wird ?
-
wie hoch ist die Absenktemperatur ?
vG Looxer `
Ist wohl doch etwas mehr Aufwand. Ich ärgere mich heute immer noch, die Max! Geräte gekauft zu haben.
Ja, so sollte es sein. Wenn ich "desired temperature" ändere, wird der Thermostat gestellt.
Bei den Sensoren klappt dies wohl nicht ohen Cube. Sie sind zwar mit dem Wandthermostat verbunden, aber wenn diese geöffnet passiert da gar nichts. Also die Temperatur wird nicht abgesenkt. Die Absenktemperatur war bis jetzt immer 6°C.
-
-
Ist wohl doch etwas mehr Aufwand. Ich ärgere mich heute immer noch, die Max! Geräte gekauft zu haben.
Ja, so sollte es sein. Wenn ich "desired temperature" ändere, wird der Thermostat gestellt.
Bei den Sensoren klappt dies wohl nicht ohen Cube. Sie sind zwar mit dem Wandthermostat verbunden, aber wenn diese geöffnet passiert da gar nichts. Also die Temperatur wird nicht abgesenkt. Die Absenktemperatur war bis jetzt immer 6°C. `
Ist kein grosser Aufwand. Ich wollte nur sichergehen wie deine Situation ist:
Im Programmcoding findest du folgende Stelle:
// 0 = Raum 1 = Datenpunkt bis vor Geraet 2=Datenpunkt Geraet 3=Datenpunkt SollTemp 4= Ventilstellung bei NichtHeizperiode NoneHMTab[0] = ['initial', 'javascript.0.Heizung', 'zwave1', '4.SET_TEMPERATURE', 12]; NoneHMTab[1] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12]; NoneHMTab[2] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12];
bitte ersetzen durch:
// 0 = Raum 1 = Datenpunkt bis vor Geraet 2=Datenpunkt Geraet 3=Datenpunkt SollTemp 4= Ventilstellung bei NichtHeizperiode NoneHMTab[0] = ['Wohnzimmer', 'maxcul.0', 'LEQ1331051', 'desiredTemperature', 6]; NoneHMTab[1] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12]; NoneHMTab[2] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12];
ist der Raumname "Wohnzimmer" ? evt anpassen
und dann noch:
var VerschlussAbsenkungsGrenze = 12;
auf das hier aendern:
var VerschlussAbsenkungsGrenze = 6;
Was deine Fenstersensoren angeht, so bin ich bisher davon ausgegangen, dass nicht HM- Sensoren immer mit nicht HM-Geraeten sprechen. Das scheint bei dir nicht der Fall zu sein. Da du die Datenpunkte (und deren Aenderungen) aber offensichtlich in iobroker hast könnte ich die nicht HM-Sensoren aufnehmen. Wenn du bereit bist etwas Testaufwand zu investieren. (und etwas Geduld mitbringst.)
aber teste zunächst mal die Funktionialität mit den Einstellungen.
vG Looxer
-
Hi,
Wollte etwas ändern und dadurch sind zwei Spalten nicht mehr nötig. Die Uhrzeit hab ich wegbekommen aber die Temperatur nicht, die wird im View immer angezeigt. `
Hi Nikoxx,
wenn ich dich richtig verstanden habe, dann willst du die Widgets entfernen ?
Die View ist eine ganz normale View. Die Widgets lassen sich in VIS normal entfernen.
Sollte das bei dir nicht der Fall sein, dann hast du vielleicht ein anderes Problem (inkonsistenzen im View)
In diesem Fall empfehle ich dir die View neu zu erstellen und die kaputte View zu löschen.
Wie gesagt: falls ich dich richtig verstanden habe.
vG Looxer
-
Hi,
da hab ich mich wohl etwas blöd ausgedrückt, sorry. Also würde die Widgets gerne behalten sie sollen nur keinen Wert anzeigen. Was ich meinte war wie kann ich ein vorhandenes Profil löschen oder ändern ?
Hab nur 1 Profil (Profil-1) und würde hier gerne ein paar Änderungen vornehmen. Also ich brauche z.B. bei Dienstags weil sich was geändert hat nicht mehr alle Spalten für die Uhrzeit und die Temperatur. Nur wie bekomme ich das geändert, bei den widgets kann ich die Temperatur zwischen 12 und 30 Grad wählen aber halt nichts damit das feld leer bleibt.
Habe schon versucht den Profil-1 Ordner unter Objekten zu löschen. Aber sobalt ich das Skript neustarte habe ich wieder alle Werte in den Widgets stehen.
-
Hi,
also, wenn du die Uhrzeit der letzten Spalten auf 00:00:00 im View stellst, dann werden die letzten Spalten im Programm ignoriert.
Somit wird auch die zugewiesene Temperatur ignoriert. Wenn du dann die Widgets entfernst (bis auf das letzte mit 00:00:00), dann stören sie nicht mehr. Aus den Objekten entfernen geht nicht bzw bringt nix wie du richtig festgestellt hast.
Edit: oder wenn du nicht entfernen willst, dann kann du die value list aus dem Widget einfach loeschen. Dann wird nur ein leeres Feld angezeigt.
vG Looxer
-
Im Programmcoding findest du folgende Stelle:
// 0 = Raum 1 = Datenpunkt bis vor Geraet 2=Datenpunkt Geraet 3=Datenpunkt SollTemp 4= Ventilstellung bei NichtHeizperiode NoneHMTab[0] = ['initial', 'javascript.0.Heizung', 'zwave1', '4.SET_TEMPERATURE', 12]; NoneHMTab[1] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12]; NoneHMTab[2] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12];
bitte ersetzen durch:
// 0 = Raum 1 = Datenpunkt bis vor Geraet 2=Datenpunkt Geraet 3=Datenpunkt SollTemp 4= Ventilstellung bei NichtHeizperiode NoneHMTab[0] = ['Schlafzimmer', 'maxcul.0', 'LEQ1331051', 'desiredTemperature', 6]; NoneHMTab[1] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12]; NoneHMTab[2] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12];
und dann noch:
var VerschlussAbsenkungsGrenze = 12;
auf das hier aendern:
var VerschlussAbsenkungsGrenze = 6;
vG Looxer `
Ich habe die betreffenden Stellen ersetzt, außerdem Wohnzimmer in Schlafzimmer getauscht.Das Skript haut dann folgende Meldung raus:
12:32:23.919 [info] javascript.0 Stop script script.js.Heizungssteuerung 12:32:23.943 [info] javascript.0 Start javascript script.js.Heizungssteuerung 12:32:23.944 [error] javascript.0 script.js.Heizungssteuerung: script.js.Heizungssteuerung:2236 12:32:23.944 [error] javascript.0 at getDevices (script.js.Heizungssteuerung:457:33) 12:32:23.944 [error] javascript.0 at script.js.Heizungssteuerung:-1402:1
Habe dann statt des Wandthermostates das normale Thermostat verwendet. Es kommt die gleiche Meldung.
Gibt es eigentlich Unterschiede wo das Skript läuft (Global oder ohne Gruppe)?
Beste Grüße
-
Ich grätsche mal rein: wenn nicht explizit gefordert, dürfen KEINE Skripte unter global abgelegt werden.
Skripte im Ordner global werden vom Adapter an jedes andere Skript angehängt. Heißt: wenn du drei Skripte unter common oder sonst wo hast (nur nicht global), wird ein Skript aus global dreimal angehängt und entsprechend dreimal ausgeführt. Das gibt Chaos.
Also nix in global legen!
Gruß
Pix
-
@pix:
Danke. Wieder was gelernt.
Jetzt habe ich ne Weile gewartet und es wurde das View gefüllt. Auch werden jetzt die betreffenden Objekte angelegt.
Das Problem ist das Wandthermostat. Da geht wohl was zwischen IOBroker, maxcul und Wandthermostat schief. Hier werden weder Werte empfangen noch gesendet.
-
@pix:Ich grätsche mal rein: wenn nicht explizit gefordert, dürfen KEINE Skripte unter global abgelegt werden.
…
Also nix in global legen! `
jap, danke Pix.irgendwann hatten wir das schon einmal - war aber ein anderes Script - und dann gibt es solche Fehler.
Ich habe ueberhaupt keine scripte in global (obwohl es an manchen Stellen Sinn machen könnte) - aus Zwei Gründen
1. Das Teilen von Scripten ist schieriger
2. Bei Fehlern werden die Zeilennummern zusammen mit den globalen Zeilennummern addiert. Man kann also schwerer die Stelle eines Fehlers zurückverfolgen.
vG L
-
Da geht wohl was zwischen IOBroker, maxcul und Wandthermostat schief. Hier werden weder Werte empfangen noch gesendet. `
was passiert denn, wenn du die desired Temperatur manuell verstellst ? (also bei den Objekten)
vG L
-
was passiert denn, wenn du die desired Temperatur manuell verstellst ? (also bei den Objekten)
vG L `
Hallo looxer01,den Feiertag mal ein wenig zum Testen genutzt. Habe von maxcul auf fhem umgestellt, da maxcul nicht sauber das Wandthermostat auslesen wollte.
Konnte nun auch über die Objekte die Werte setzen.
Das Skript funktioniert. Das Problem sind jetzt aber die Fensterkontakte, diese ignoriert das Skript "noch" völlig. Sind ja nicht definiert.
Beste Grüße
-
Habe von maxcul auf fhem umgestellt, da maxcul nicht sauber das Wandthermostat auslesen wollte. `
das ist ja schade, das heisst naemlich, dass die MAX Integration nicht funktioniert. Da sollte Bluefox die Info bekommen, damit gefixt werden kann.
oder liegt es nicht an ioBroker sondern an maxcul ?
Konnte nun auch über die Objekte die Werte setzen.
Das Skript funktioniert. Das Problem sind jetzt aber die Fensterkontakte, diese ignoriert das Skript "noch" völlig. Sind ja nicht definiert. `
super, ich habe angefangen auch "Nicht-HM-Sensoren" zu integrieren.
Hast du mal getestet wie lange es dauert bis die Meldung eines Fensterstatus-Wechsels in ioBroker ankommt.
Das muss schnell gehen, sonst macht es keinen Sinn.
vG Looxer
-
das ist ja schade, das heisst naemlich, dass die MAX Integration nicht funktioniert. Da sollte Bluefox die Info bekommen, damit gefixt werden kann.
oder liegt es nicht an ioBroker sondern an maxcul ? `
Ich hatte mehrmals das Pairen probiert. Das Heizkörperthermostat kam sauber mit allen Warten an. Beim Wandthermostat fehlten viele Werte.Da ich nur ein Wandthermostat im Test hatte, kann ich da nicht mehr sagen.
super, ich habe angefangen auch "Nicht-HM-Sensoren" zu integrieren.
Hast du mal getestet wie lange es dauert bis die Meldung eines Fensterstatus-Wechsels in ioBroker ankommt.
Das muss schnell gehen, sonst macht es keinen Sinn.
vG Looxer `
Also Meldungen werden schnell von Fhem zu ioBroker durchgereicht. In der Visualisierung werden schnell offene Fenster angezeigt. Das passiert meist innerhalb einer Sekunde.Brauchst du da noch Parameter der Sensoren?
-
Brauchst du da noch Parameter der Sensoren? `
nein, ich glaube nicht Du schicktest mir ja schon einen Datenpunkt. Das sollte reichen.Es sind schon einige Aenderungen, die ich gerade im Programm vornehme. Dauert noch ein wenig.
vG Looxer
-
Hallo zusammen,
ich bin relativ neu und unbedarft im Thema ioBroker, konnte aber schon einige Erfahrungen sammeln und würde nun auch gerne dieses tolle Skript einsetzen. Ich hab hier aber noch die ein oder andere Verständnisfrage.
Erst mal mein Setting:
-
ioBroker auf einem NUC als VM mit Jessie
-
FHEM auf PI zero mit HM-MOD-RPI-PCB, CUL 433Mhz, CUL 868Mhz, CUL Jeelink
-
ich habe hier auch noch einen (momentan ungenutzten) HM-CFG-LAN - für den Fall, das jemand von euch eine Idee hat, die mir einiges erleichtern würde, wenn ich das auch noch in Betrieb nehme.
FHEM habe ich seit ca. einem Jahr in Betrieb und steuere damit Heitungsthermostate, Steckdosen mit Lampen, habe einige Leistungsmesser in Betrieb und Temperatursensoren (auch als externer Temperatursensor für das Heizungsthermostat)
Da ich nie eine CCU besessen oder in den Fingern gehabt habe, habe ich natürlich auch keine Gewerke angelegt auf die das Skript zugreifen kann. Leider habe ich hier im Forum nichts gefunden woraus ich ersehen kann, was originär in den Gewerken enthalten ist, damit ich sie selber anlegen kann.
Meine Vorgehensweise wäre in etwas so:
-
im Reiter "Aufzählungen" einen Punkt "enum.functions" anlegen
-
darin dann einen Punkt "Heizung"
-
in "Heizung" dann den Datenpunkt "fhem.0.DG_AZ_HZ_Fenster_Clima.desired-temp" hinzufügen (Thermostat ist ein HM-CC-RT-DN gepeert mit einem externen Temperatursensor)
Die Fragen:
Ist die Vorgehensweise richtig?
Ist das dann der richtige Datenpunkt?
Fehlen noch weitere Datenpunkte die zum Gewerk gehören?
Für das Gewerk "Verschluss" funktioniert es vermutlich ähnlich, oder?
Schon einmal vielen Dank im voraus
Viele Grüße
PicNic
-