Neues Modul - THRESHOLD

Begonnen von Damian, 25 Januar 2013, 22:51:43

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: Cybers am 09 April 2015, 15:52:04
Hallo,

ich habe THRESHOLD wie folgt definiert:

##### Routine Solltemperatur/Raumtemperatur #####

define TH_Heizung THRESHOLD Durchschnittstemperatur_Haus:state:1:Solltemperatur:solltemperatur OR TH_outdoor:state:off Heizungsschalter
attr TH_Heizung room Heizung

##### Routine Ausschalttemperatur Außen #####

define TH_outdoor THRESHOLD Temperatur_Aktuell:state:0:15
attr TH_outdoor room Heizung
attr TH_outdoor state_cmd1_gt off
attr TH_outdoor state_cmd2_lt on
attr TH_outdoor state_format _sc


Dann bekomme ich aber diese Fehlermeldung:
TH_Heizung: Unknown sensor2 device TH_outdoor specified

Der Fehler tritt ohne OR TH_outdoor:state:off nicht auf.

Was kann das sein?

Gruß, Sascha

Du hast wahrscheinlich in der cfg editiert und da steht Definition des Threshold-Moduls vor der Definition von TH_outdoor. Entweder in der cfg die Reihenfolge tauschen oder über DEF-Editor die Definitionen Löschen und entsprechen neu definieren.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Cybers

Danke, das war der Fehler. Habe es in der CFG getauscht.

Gruß, Sascha
FHEM 6.2 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Phill

Hallo, ich hätte da mal eine Frage. Ist zwar nicht 100% das richtige Thema aber ich habe das gefühl hier lesen die richtigen Leute mit!  ;)

Ich werde bald im Neubau eine Fussbodenheizung realisieren. Und habe mich in den letzten Tagen mit dem Thema Fussbodenheizung beschäftigt. Und jetzt bin ich als Automatisierungstechniker wahrhaft geschockt, das so eine Fussbodenheizung lediglich mit einem 2-Punktregler geregelt werden kann.

Mich würde sehr interessieren: Wie hoch sind denn bei euch die Überschwinger, also die Temperaturschwankungen in den Räumen. Ich weiß das hängt natürlich viel von den gegebenheiten des Hauses ab, aber ich würde gerne mal so einen Temeraturverlaufplot sehen.

Und wo habt ihr die Temperaturfühler plaziert? Es würde ja bei einer niedrigen Einbauhöhe schneller auf die Temperaturerhöhung reagieren! Ist aber wahrscheinlich auch eher vernachlässigbar.

Ich bin eigentlich bei meinen ersten Überlegungen davon ausgegangen das die Elektrothermischen Stellantriebe über eine Art Pulsweitenmodulation angesteuert werden. Ist aber anscheinend nicht notwendig?!

Gruß und entschuldigung für den Missbrauch dieses Threads.  ::)
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Damian

#348
Zitat von: Phill am 19 Mai 2015, 09:50:49
Hallo, ich hätte da mal eine Frage. Ist zwar nicht 100% das richtige Thema aber ich habe das gefühl hier lesen die richtigen Leute mit!  ;)

Ich werde bald im Neubau eine Fussbodenheizung realisieren. Und habe mich in den letzten Tagen mit dem Thema Fussbodenheizung beschäftigt. Und jetzt bin ich als Automatisierungstechniker wahrhaft geschockt, das so eine Fussbodenheizung lediglich mit einem 2-Punktregler geregelt werden kann.

Mich würde sehr interessieren: Wie hoch sind denn bei euch die Überschwinger, also die Temperaturschwankungen in den Räumen. Ich weiß das hängt natürlich viel von den gegebenheiten des Hauses ab, aber ich würde gerne mal so einen Temeraturverlaufplot sehen.

Und wo habt ihr die Temperaturfühler plaziert? Es würde ja bei einer niedrigen Einbauhöhe schneller auf die Temperaturerhöhung reagieren! Ist aber wahrscheinlich auch eher vernachlässigbar.

Ich bin eigentlich bei meinen ersten Überlegungen davon ausgegangen das die Elektrothermischen Stellantriebe über eine Art Pulsweitenmodulation angesteuert werden. Ist aber anscheinend nicht notwendig?!

Gruß und entschuldigung für den Missbrauch dieses Threads.  ::)

Du hast bestimmt schon gesehen, dass es hier im Forum beliebig viele Grundsatzdiskussionen zu diesem Thema gibt.

Meine Sicht:

Ein Zweipunkt-Regler ist bei Heizungsbauern bei FB immer noch Standard: mechanisches Thermostat an der Wand, 230V-Stellantrieb am Verteiler, ist einfach, billig und zuverlässig.

Du kannst die Sache auch beliebig technisch verfeinern, damit gleichzeitig auch komplexer machen und somit auch anfälliger.

Unsere FB mit Zweipunkt-Regler hat so geringe Schwankungen, dass ich gar nicht auf die Idee käme eine andere Art der Ventilsteuerung zu realisieren. Es zeigt auch die Erfahrung, dass man einen Ausfall einer FB meistens erst am nächsten Tag bemerkt.
Was ich allerdings realisiert hatte, ist die Zweipunkt-Stellantriebe über FHEM anzusteuern - das kann man in diesem Thread hier irgendwo nachlesen. So entstand auch das Modul THRESHOLD als ein Software-Zweipunktregler.

Wenn du natürlich als "Regelungsfan" mehr "Wissenschaft" aus der Geschichte machen willst, dann musst du nach PID bzw. PID20 suchen.

Ich werde für meinen Teil auch in diesem Jahr bei einem Neubau wieder auf Zweipunktregler setzen, denn viel wichtiger ist es z. B. sich Gedanken darüber zu machen, dass alle Räume ausreichend mit FB-Schlaufen versorgt werden.

Und je komplexer, desto anfälliger -  ist immer schlecht insb. für eine Wohnung, die man selbst nicht bewohnt. ;)

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

linus76

Hallo zusammen,

ich habe mir im Winter mit FHEM und der Threshold Funktion meine Heizungssteuerung programmiert. Funktioiert genial - vielen Dank euch allen - und ich konnte ca. 30% Heizkosten sparen :D ... Meine "Fußbodenheizung" ist auch in der Lage selbigen zu kühlen. Mein Problem ist allerdings, dass ich es nicht schaffe die Config automatisiert (abhängig von Zustand GPIO24: GPIO high ist Sommerbetrieb) derart zu ändern dass sie im Sommer nach unten regelt, also kühlt.

Meine Config zum Heizen ist:
define Wohnzimmer THRESHOLD Thermostat.Wohnzimmer:measured-temp:0.2:Thermostat.Wohnzimmer:desired-temp:-0.5 Act.07_WZ
attr Wohnzimmer number_format %.1f
attr Wohnzimmer state_cmd1_gt off
attr Wohnzimmer state_cmd2_lt on
attr Wohnzimmer state_format _m _s1v _dv _sc

ich wüsste auch wie ich sie statisch zur Kühlung ändern soll, aber hat von euch einer eine Idee wie ich das zur Laufzeit machen kann?

Vielen Dank schon vorab für eure Unterstützung,
Martin

Damian

Zitat von: linus76 am 02 Juni 2015, 18:39:31
Hallo zusammen,

ich habe mir im Winter mit FHEM und der Threshold Funktion meine Heizungssteuerung programmiert. Funktioiert genial - vielen Dank euch allen - und ich konnte ca. 30% Heizkosten sparen :D ... Meine "Fußbodenheizung" ist auch in der Lage selbigen zu kühlen. Mein Problem ist allerdings, dass ich es nicht schaffe die Config automatisiert (abhängig von Zustand GPIO24: GPIO high ist Sommerbetrieb) derart zu ändern dass sie im Sommer nach unten regelt, also kühlt.

Meine Config zum Heizen ist:
define Wohnzimmer THRESHOLD Thermostat.Wohnzimmer:measured-temp:0.2:Thermostat.Wohnzimmer:desired-temp:-0.5 Act.07_WZ
attr Wohnzimmer number_format %.1f
attr Wohnzimmer state_cmd1_gt off
attr Wohnzimmer state_cmd2_lt on
attr Wohnzimmer state_format _m _s1v _dv _sc

ich wüsste auch wie ich sie statisch zur Kühlung ändern soll, aber hat von euch einer eine Idee wie ich das zur Laufzeit machen kann?

Vielen Dank schon vorab für eure Unterstützung,
Martin

Ein Beispiel zur Kühlung (Aircondition) ist in der Commandref zu THRESHOLD angegeben:

Zitatdefine thermostat THRESHOLD temp_sens:temperature:1 aircon|set @ on|set @ off|1

Du kannst also zwei THRESHOLD Module definieren und dann je nach Jahreszeit das eine oder das andere aktivieren.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

linus76

Zitat von: Damian am 03 Juni 2015, 19:52:06
Ein Beispiel zur Kühlung (Aircondition) ist in der Commandref zu THRESHOLD angegeben:

Du kannst also zwei THRESHOLD Module definieren und dann je nach Jahreszeit das eine oder das andere aktivieren.

Gruß

Damian

Hallo Damian,

danke für deine Antwort, aber genau da liegt mein Problem - ich weiss nicht wie ich die Module abwechselnd vom GPIO "scharf schalten" kann. Hättest da einen Hinweis für mich ...

Danke,
Martin

Damian

#352
Zitat von: linus76 am 03 Juni 2015, 20:59:02
Hallo Damian,

danke für deine Antwort, aber genau da liegt mein Problem - ich weiss nicht wie ich die Module abwechselnd vom GPIO "scharf schalten" kann. Hättest da einen Hinweis für mich ...

Danke,
Martin

define umschaltung DOIF ([GPIO] eq "Sommer")(set th_sommer active, set th_winter deactivated) DOELSE (set th_winter active, set th_sommer deactivated)

th_sommer wäre dann dein THRESHOLD-Modul für den Sommerbetrieb und th_winter für den Winterbetrieb.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

linus76

Zitat von: Damian am 03 Juni 2015, 21:48:30
define umschaltung DOIF ([GPIO] eq "Sommer")(set th_sommer active, set th_winter deactivated) DOELSE (set th_winter active, set th_sommer deactivated)

th_sommer wäre dann dein THRESHOLD-Modul für den Sommerbetrieb und th_winter für den Winterbetrieb.

Gruß

Damian

Hallo Damian,

ah, danke - das sieht gut aus ... Ich bekomme zwar immer die Fehlermeldung "DOIF: no state, reading or time in condition: {Value("Sommerbetrieb") eq "on"}", werde mir das aber nach meinem Urlaub nochmals ansehen - bin grad am Sprung - und dann natürlich meine Erkenntnisse hier posten.

Nochmals Danke und lG,
Martin

avrfuchs

Ich verwende das Modul THRESHOLD seit längerem zur Steuerung einer Zirkulationspumpe. Es erfüllt seine Aufgabe zur vollsten Zufriedenheit. Allerdings erscheinen immer im Logfile beim Deaktivieren der Zirkulationspumpe diese Fehlermeldungen:
2015.06.16 14:01:26 1: readingsUpdate(ZirDiff,cmd,cmd1_gt) missed to call readingsBeginUpdate first.
2015.06.16 14:01:26 1: readingsUpdate(ZirDiff,state,deactivated 48.9 on) missed to call readingsBeginUpdate first.

list Zir_Diff:

Internals:
   DEF        WW_Zirkulation:temperature:1:WW_Vorlauf:temperature:-6 Zir_Pumpe
   NAME       ZirDiff
   NR         138
   NTFY_ORDER 50-ZirDiff
   STATE      disabled
   TYPE       THRESHOLD
   cmd1_gt    set Zir_Pumpe off
   cmd2_lt    set Zir_Pumpe on
   cmd_default 2
   hysteresis 1
   offset     -6
   sensor     WW_Zirkulation
   sensor_reading temperature
   target_reading temperature
   target_sensor WW_Vorlauf
   Readings:
     2015-06-16 13:58:45   cmd             cmd2_lt
     2015-06-16 14:01:19   desired_value   48.9375
     2015-06-16 14:01:26   mode            deactivated
     2015-06-16 14:01:26   sensor_value    43.1875
     2015-06-16 14:01:26   state           disabled
     2015-06-16 14:01:19   threshold_max   42.9375
     2015-06-16 14:01:19   threshold_min   41.9375
Attributes:
   disable    1
   number_format %.1f
   room       GPIO
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc

list Zir_Pumpe

Internals:
   DEF        22
   NAME       Zir_Pumpe
   NR         123
   RPI_pin    22
   STATE      aus
   TYPE       RPI_GPIO
   Readings:
     2015-06-16 13:42:28   Pinlevel        low
     2015-06-16 14:01:26   state           off
   Fhem:
     interfaces switch
Attributes:
   devStateIcon ein:sani_pump@green aus:sani_pump@red
   direction  output
   eventMap   on:ein off:aus
   fp_heizung 335,547,0,state
   room       GPIO

Es funktioniert ja einwandfrei, allerdings müllen die Fehlermeldungen das Logfile zu.
Ich denke, es irgend ein Fehler bei mir, denn dieses Modul wird sicher häufig angewandt und man hört nichts über ähnliche Beschwerden.
Für eine hilfreiche Unterstützung bedanke ich mich schon jetzt.

Gruß
Franz
Fhem auf Raspberry Pi B+
V 1.57 CUL868
JeeLink pcaSerial.10.1

Damian

Zitat von: avrfuchs am 16 Juni 2015, 14:23:18
Ich verwende das Modul THRESHOLD seit längerem zur Steuerung einer Zirkulationspumpe. Es erfüllt seine Aufgabe zur vollsten Zufriedenheit. Allerdings erscheinen immer im Logfile beim Deaktivieren der Zirkulationspumpe diese Fehlermeldungen:
2015.06.16 14:01:26 1: readingsUpdate(ZirDiff,cmd,cmd1_gt) missed to call readingsBeginUpdate first.
2015.06.16 14:01:26 1: readingsUpdate(ZirDiff,state,deactivated 48.9 on) missed to call readingsBeginUpdate first.

list Zir_Diff:

Internals:
   DEF        WW_Zirkulation:temperature:1:WW_Vorlauf:temperature:-6 Zir_Pumpe
   NAME       ZirDiff
   NR         138
   NTFY_ORDER 50-ZirDiff
   STATE      disabled
   TYPE       THRESHOLD
   cmd1_gt    set Zir_Pumpe off
   cmd2_lt    set Zir_Pumpe on
   cmd_default 2
   hysteresis 1
   offset     -6
   sensor     WW_Zirkulation
   sensor_reading temperature
   target_reading temperature
   target_sensor WW_Vorlauf
   Readings:
     2015-06-16 13:58:45   cmd             cmd2_lt
     2015-06-16 14:01:19   desired_value   48.9375
     2015-06-16 14:01:26   mode            deactivated
     2015-06-16 14:01:26   sensor_value    43.1875
     2015-06-16 14:01:26   state           disabled
     2015-06-16 14:01:19   threshold_max   42.9375
     2015-06-16 14:01:19   threshold_min   41.9375
Attributes:
   disable    1
   number_format %.1f
   room       GPIO
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc

list Zir_Pumpe

Internals:
   DEF        22
   NAME       Zir_Pumpe
   NR         123
   RPI_pin    22
   STATE      aus
   TYPE       RPI_GPIO
   Readings:
     2015-06-16 13:42:28   Pinlevel        low
     2015-06-16 14:01:26   state           off
   Fhem:
     interfaces switch
Attributes:
   devStateIcon ein:sani_pump@green aus:sani_pump@red
   direction  output
   eventMap   on:ein off:aus
   fp_heizung 335,547,0,state
   room       GPIO

Es funktioniert ja einwandfrei, allerdings müllen die Fehlermeldungen das Logfile zu.
Ich denke, es irgend ein Fehler bei mir, denn dieses Modul wird sicher häufig angewandt und man hört nichts über ähnliche Beschwerden.
Für eine hilfreiche Unterstützung bedanke ich mich schon jetzt.

Gruß
Franz

Ich kann mich erst in den Ferien drum kümmern.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

avrfuchs

Damian schrieb:
Zitat von: Damian am 16 Juni 2015, 17:33:16
Ich kann mich erst in den Ferien drum kümmern.

Gruß

Damian

Zeit spielt keine Rolle, vielen Dank für Deine Bereitschaft zur Hilfe

Gruß
Franz
Fhem auf Raspberry Pi B+
V 1.57 CUL868
JeeLink pcaSerial.10.1

Joker2002

Hallo Damian,

ich will das Modul THRESHOLD für eine einfache Beschattungssteuerung verwenden, bekomme es jedoch irgendwie nicht richtig hin.
Ich habe sowohl diesen Threat als auch das dazugehörige HowTo im Commandref durchgelesen, finde jedoch einfach nicht meinen Fehler.

Ich hätte es gerne so geregelt, dass bei einer Außentemperatur von 28 Grad die Rollos an meinem Haus entsprechend herunterfahren.
Ich nutze ein TCM Sender, der bereits in meiner Wetteranzeige im FHEM zum Einsatz kommt.

Für die Rolläden habe ich folgendes Structure angelegt:

define Rollläden_hinten structure Shutter_hinten rollo_OG_Z1 rollo_OG_Z3 rollo_wz_1 rollo_wz_3

danach habe ich das THRESHOLD Modul in FHEM angelegt, das folgendermaßen aufgebaut ist:

define TH_Beschattungssteuerung THRESHOLD TCM_Aussen Rollaeden_hinten

anschließend habe ich die Beschattungssteuerung erstellt:

define di_Beschattungssteuerung DOIF ([10:00-20:00]) (set TH_Beschattungssteuerung desired 28)

Hier habe ich jedoch das Problem, dass die Rollläden um 10.00 Uhr herunterfahren, egal welche Temperatur derzeit vorherrscht.

Ich finde den Fehler einfach nicht. Kannst Du mir vielleicht weiterhelfen?

Damian

Zitat von: Joker2002 am 24 Juni 2015, 15:03:56
Hallo Damian,

ich will das Modul THRESHOLD für eine einfache Beschattungssteuerung verwenden, bekomme es jedoch irgendwie nicht richtig hin.
Ich habe sowohl diesen Threat als auch das dazugehörige HowTo im Commandref durchgelesen, finde jedoch einfach nicht meinen Fehler.

Ich hätte es gerne so geregelt, dass bei einer Außentemperatur von 28 Grad die Rollos an meinem Haus entsprechend herunterfahren.
Ich nutze ein TCM Sender, der bereits in meiner Wetteranzeige im FHEM zum Einsatz kommt.

Für die Rolläden habe ich folgendes Structure angelegt:

define Rollläden_hinten structure Shutter_hinten rollo_OG_Z1 rollo_OG_Z3 rollo_wz_1 rollo_wz_3

danach habe ich das THRESHOLD Modul in FHEM angelegt, das folgendermaßen aufgebaut ist:

define TH_Beschattungssteuerung THRESHOLD TCM_Aussen Rollaeden_hinten

anschließend habe ich die Beschattungssteuerung erstellt:

define di_Beschattungssteuerung DOIF ([10:00-20:00]) (set TH_Beschattungssteuerung desired 28)

Hier habe ich jedoch das Problem, dass die Rollläden um 10.00 Uhr herunterfahren, egal welche Temperatur derzeit vorherrscht.

Ich finde den Fehler einfach nicht. Kannst Du mir vielleicht weiterhelfen?

Wie ich schon mal geschrieben habe, ist die Beschattungssteuerung mit THRESHOLD ursprünglich aus der Zeit ohne DOIF.
Mache es doch einfach direkt mit DOIF ohne THRESHOLD:

define di_Beschattungssteuerung DOIF ([10:00-20:00] and [TCM_Aussen:temperature]>28)
  (set Rollläden_hinten runter)
DOELSE
  (set Rollläden_hinten hoch)

attr di_Beschattungssteuerung wait 300:3600


In dem obigen Beispiel ist eine Verzögerung eingebaut, die ein zu häufiges Bewegen des Rollos verhindert. So etwas geht mit THRESHOLD nicht.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Joker2002

Danke für die Antwort. Dann werde ich es mal testen.