Temperatur Steuerung, Regelung, Heizung, Hydraulik

Geflasht oder ungeflasht ...

Moderator: seppy

mad-mike
Beiträge: 17
Registriert: 6. Jan 2021 18:05

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Moin.
Danke dir für deine Antwort.

Habe mich gestern mal wieder hiermit beschäftigt.
War guter Dinge, aber irgendwie wird der Wert des Item nicht mit einer anderen Zahl addiert.

Wenn dich die Beiden ITEM Werte der Sensoren miteinander vergleichen lasse, (siehe Beitrag weiter oben), Funktioniert das...

Wenn ich nun aber den ITEM Wert + 5 nehme, passiert nichts... :cry:

Vielleicht ist es ja interessant: Ich habe an die Shelly 1 das Temperatur addon angedockt, und der zeigt mit im Obenhab werte mit 6 Nachkommerstellen an. Wobei die letzten 5 Zahlen immer eine 0 sind.

Code: Alles auswählen

var T1, T2;


T1 = itemRegistry.getItem('Puffer_T1').getState();
T2 = itemRegistry.getItem('Puffer_T2').getState();
if (T1 + 8 >= T2) {
  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'ON');
} else if (T2 + 3 >= T1) {
  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'OFF');
}
Gruss mad-mike

Benutzeravatar
udo1toni
Beiträge: 6246
Registriert: 11. Apr 2018 18:05
Answers: 67
Wohnort: Darmstadt

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von udo1toni »

Du wirst den Status vermutlich zunächst nach Number casten müssen, bevor Du damit rechnen kannst.
Falls es sich um UoM Items handelt, ist der Status außerdem einheitenbehaftet. Dann musst Du entweder die zu addierenenden Zahlen ebenfalls mit einer Einheit versehen, oder Du musst die Einheit zunächst entfernen.
openHAB2.5.10 in einem Debian-Container (Proxmox, LXC)

Benutzeravatar
Detlef
Beiträge: 124
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von Detlef »

Hallo
ich hatte das mal mit den 8 Minuten mit Blockly so am laufen .
In meinen Fall war Bedingung die Zahl ( 8 ) als Variabel zu benennen.

Also versuche das mal mit 3 Variabel. Also die 8 als 3. Variabel und dann vergleichen und rechnen.
Nicht Äpfel + Birnen vergleichen oder abrechnen. Schau nach was die Werte der 3 Items sind.

Code: Alles auswählen

var a;


a = 8;
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mit freundlichen Grüße aus Recklinghausen

mad-mike
Beiträge: 17
Registriert: 6. Jan 2021 18:05

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Danke euch allen.

Ich habe tatsächlich eine Endung von °C gehabt. Diese habe ich im Item geändert.

Weiter habe ich mir selber ein Stein in den Weg gelegt... Habe in meiner Verzweiflung die ITEM Puffer neu erstellt. Aber Habe den Trigger item nicht aktualisiert,.. :oops: :oops: :oops:

Weiter habe ich einen Logik Fehler gehabt... habs dann ebend noch selber gefunden.

Aktuell:

Code: Alles auswählen

var T1, T2, dT8, dT3;


T1 = itemRegistry.getItem('Puffer_T1').getState();
T2 = itemRegistry.getItem('Puffer_T2').getState();
dT8 = 8;
dT3 = 3;
if (T2 + dT8 <= T1) {
  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'ON');
} else if (T2 + dT3 >= T1) {
  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'OFF');
}
Temp1.png
So funktioniert das... :mrgreen:

Vielen dank noch mal...

Ich will noch mal ohne die "Variabel" dT versuchen. mal gucken ob es dann funktioniert. (Ich werde Berichten)



Nun habe ich 2 weitere Fragen:

1.
Ich habe schon in der google suche gelesen, das es mit Blocky keinen ""Timer"" gibt. Stimmt das? Ich denke da an:

Wenn "ON" 3 sekunden später OFF... Diese 3 Sekunden sollen je nach Differenz variieren. Große Temperatur Differenz, 10 Sekunden. kleine Temperatur Differenz 1 Sekunde...

Da dieses vermutlich mit Blocky nicht funktioniert, komme ich nun zur frage 2:

Die Oben erstelle Rule, kann ich die z.b. kopieren, in Rule DSL einfügen und um die Zeit Parameter erweitern?
Oder muss diese komplett anderes aufgebaut sein?

Für mich als Anfänger, ist dieses Blocky sehr gut zu verstehen. So kann man step by step dazu lernen...


Vielen Dank noch mal.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruss mad-mike

mad-mike
Beiträge: 17
Registriert: 6. Jan 2021 18:05

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

Moin
Ich will noch mal ohne die "Variabel" dT versuchen. mal gucken ob es dann funktioniert. (Ich werde Berichten)
Ja funktioniert nun auch so... ;)

Code: Alles auswählen

var dT8, dT3, T1, T2;


T1 = itemRegistry.getItem('Puffer_T1').getState();
T2 = itemRegistry.getItem('Puffer_T2').getState();
if (T2 + 8 <= T1) {
  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'ON');
  
[b]  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'Pause 5 sekunden');[/b]

  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'OFF');
} else if (T2 + 3 >= T1) {
  events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'OFF');
}
Pause funktioniert ja nicht... :D
Ähm, kennt jemand einen Passenden Befehl welcher hier eine Pause von 5 Sekunden auslöst?


Ich konnte nun auch herausfinden, das die mit Blocky erstellte Rule in ECMA Script kopiert werden kann.

So kann ich also nun auch Ergänzungen zu der Erstellten Rule tätigen...

Danke und Gruss
Gruss mad-mike

mad-mike
Beiträge: 17
Registriert: 6. Jan 2021 18:05

Re: Temperatur Steuerung, Regelung, Heizung, Hydraulik

Beitrag von mad-mike »

So, habe auch eine Pause hinbekommen. ;)
So sieht es aktuell aus.

Code: Alles auswählen

var dT8, dT3, T1, T2;

while (!false) {
T1 = itemRegistry.getItem('Puffer_T1').getState();
T2 = itemRegistry.getItem('Puffer_T2').getState();
  if (T2 <= T1) {
    events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'ON');
     java.lang.Thread.sleep(3000);
    events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'OFF');
     java.lang.Thread.sleep(3000);
  } else if (T2 >= T1) {
    events.sendCommand('shelly1e09806a9a707192168178103_Betrieb', 'OFF');
     break;
     java.lang.Thread.sleep(10000);
  }
}
Wie gesagt, ist vorerst damit ich mich so langsam in die Materie rein fuchsen kann..


Ich möchte für die Ansteuerung der Pumpen die Shelly Plug S verwenden, und dann für die Mischventile einen Shelly 2,5 Rollo aktor. Diese hat ja die Open und close Funktion... Ein Heizungsmischer hat ja auch "öffnen / Schließen" per impuls.
Für Temperatur Messung nutze ich die Shelly 1 Huckepack Temperatur Addon und werte vom KM200 Binding.


Mal gucken, ob ich dies umgesetzt bekomme, mit dem was ich mir so im Kopf zurecht spinne :mrgreen:

Bei meinem Endergebnis, will ich 2 oder 3 Pufferspeicher Managen.

Danke und Gruss
Gruss mad-mike

Antworten