NEWS
Heizkörperthermostat Fritz DECT 301
-
Also irgendwie stehe ich scheinbar mit Blockly auf dem Kriegsfuß.
Ich habe einen Datenpunkt Namens Temperaturwunsch_Badezimmer geschaffen. Wenn eines der beiden Fenster aufgeht soll IOBroker die Temperatur am Heizkörper auf 5° stellen, wenn Fenster wieder zu, dann soll er die Wunschtemperatur als "target_temp" setzen.
Temperatur Badezimmer kommt übrigens vom Temperatursensor von Xiaomi, auch die Fensterkontakte sind daher.
In einer weiteren Version habe ich auch versucht, statt die Temperatur zu beeinflussen, den mode von 0 auf 1 und später wieder auf 0 zu setzen. Leider vollständig ohne sichtbares Ergebnis im Objekt DECT 301.
Hier mal mein kleines Blockly, vielleicht habe ich ja etwas übersehen…...
auf dem Bild habe ich den Wert runtergesetzt auf 5 - das habe ich zwischendurch geändert in 5 °C - aber auch kein Ergebnis
-
Das liegt wohl daran, dass Deine Blockly Logik etwas Kopf steht.
Das falls muss zuerst das Objekt haben, dann was damit sein soll und nicht umgekehrt.
-
Danke für den Hinweis, habe das geändert.
Ich habe das gerade umgeschrieben und gestartet. Wie lange sollte es dauern, bis eine Änderung im Objekt (301 im iobroker) zu sehen ist?
Die Steuerung in der Fritz Box habe ich runtergestellt auf "AUS" und den Zeitplan komplett auf Spartemperatur gestellt. (habe irgendwo gelesen, dass die FritzBox sonst dazwischenfunkt)
Jetzt bekomme ich folgende Fehlermeldungen:
17:04:22.861 [error] javascript.0 script.js.System_intern.Temperatur.OG.Temperatur_Badezimmer: Cannot use sync getState, use callback instead
getState("mihome.0.devices.magnet_158d0002434b1d.state", function (err, state){}); or disable the "Do not subscribe all
states on start" option in instance configuration.
17:04:22.862 [error] javascript.0 at Object. (script.js.System_intern.Temperatur.OG.Temperatur_Badezimmer:2:66)
17:04:22.873 [error] javascript.0 script.js.System_intern.Temperatur.OG.Temperatur_Badezimmer: Cannot use sync getState, use callback instead
getState("mihome.0.devices.magnet_158d0002434b1d.state", function (err, state){}); or disable the "Do not subscribe all
states on start" option in instance configuration.
17:04:22.874 [error] javascript.0 at Object. (script.js.System_intern.Temperatur.OG.Temperatur_Badezimmer:2:66)
-
Okay, nach einigem Testen musste ich feststellen, dass mein Blockly bereits am Anfang hakt.
Solange ich ein Fenster auswerte kann ich den Thermostaten (DECT 301) regeln - hier habe ich mich dazu entschieden den Mode zu steuern, also Automatik / Aus / Auf.
Das funktioniert bis hierhin bestens.
Nun habe ich in mehreren Räumen jedoch zwei Fenster.
Wenn ich anfange wie in meinem Blockly Beispiel zwei Fensterkontakte zu überwachen bekomme ich Probleme und das Skript läuft nicht mehr.
Wie muss ich das zusammenbauen, dass ich zwei Fenster überwachen kann?
Danke im voraus,
Bernd, der verzweifelte
-
Prinzipiell würde ich sagen:
Falls: Fenster 1 = auf oder Fenster 2 = auf
Als Trigger jeweils Fenster 1 und 2 ein suf Änderung Überwachen
-
Ich habe das auf zwei verschiedenen Wegen versucht.
bei allen Varianten bin ich auf halben Wege erfolgreich!
Jeweils, wenn das rechte Fenster geöffnet wird, ändert sich wunshgemäß der Wert im "mode" von "AUTO" auf "AUS"
Beim schließen geht es korrekt zurück auf "AUTO"
Öffne ich das linke Fenster, regt sich gar nichts…... und ich habe keine Idee warum das so ist bzw. wie ich das lösen kann.
Hier mal die 3 getesteten Varianten:
-
Du triggerst nach meiner Meinung auf das rechte Fenster.
Also wenn du dein Script von oben liest:
Falls "rechts offen" wurde geändert…
Hast du mal versucht die "oder" Verknüpfung an der Stelle einzusetzen?
Also: Falls "Wert von ObjId1 ODER Wert von ObjId2" wurde geändert....
-
Genau das habe ich doch in den ersten beiden Varianten versucht - wenn ich Dich richtig verstehe.
Putzig ist, dass im der unteren Version triggere ich zuerst das rechte Fenster - und darauf reagiert auch der State im Objekt (auf das linke Fenster nicht)
in den ersten beiden Varianten triggere ich zuerst das linke Fenster - aber der State im Objekt ändert sich nur durch das rechte Fenster.
-
Nein, ich meine das Feld ganz oben rechts wo du die beiden Fenstersensoren einzeln hast.
-
Okay, aber wie kann ich das ändern?????
Habe dazu nichts gefunden.
Ich war der Meinung, das an der Stelle nur die zu behandelnden Objekte aufgeführt sind.
-
Du nimmst einfach die entsprechenden Bausteine und schiebst sie dort rein.
Aber vorher solltest du noch etwas anderes Versuchen:
In deinem ersten Script ist die Verknüpfung zu True/false immer nur auf das rechte Fenster ausgeführt.
Versuche das mal zu ändern und schau ob das schon funktioniert
5779_fehler.jpg -
Okay, aber wie kann ich das ändern?????
Habe dazu nichts gefunden. `
Die Bedienung von Blockly ist stellenweise etwas tricky.
Wegen Blockly ist das hier sicher hilfreich:
-
Am Trigger kannt keine Logik mit einbauen. Wenn mehrere Objekte dran sind, wird eh ODER verknüpft.
-
Mach doch 2 Skripte! Eins fürs linke und eins fürs rechte Fenster.
-
@Papabaer said in Heizkörperthermostat Fritz DECT 301:
Hier mal die 3 getesteten Varianten:
Hier fehlt bei Fenster links die Abfrage auf True oder False