Neues Modul - THRESHOLD

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

Vorheriges Thema - Nächstes Thema

jps

Ok - werde mit der Sprache noch vertraut ;)
Hier sind die readings:

fhem> list T_Balkon_unten
Internals:
   DEF        1CCC74
   EVENTS     59
   HMCFGLAN_MSGCNT 59
   HMCFGLAN_RAWMSG E1CCC74,0000,458D6B77,FF,FFC8,D586701CCC7400000000BE41
   HMCFGLAN_RSSI -56
   HMCFGLAN_TIME 2013-10-24 16:38:40
   IODev      HMCFGLAN
   LASTInputDev HMCFGLAN
   MSGCNT     59
   NAME       T_Balkon_unten
   NR         37
   STATE      T: 19.0 H: 65
   TYPE       CUL_HM
   lastMsg    No:D5 - t:70 s:1CCC74 d:000000 00BE41
   protLastRcv 2013-10-24 16:38:40
   rssi_at_HMCFGLAN avg:-55.81 min:-57 max:-55 lst:-56 cnt:59
   Readings:
     2013-10-24 14:19:52   Activity        alive
     2013-10-24 11:39:09   CommandAccepted yes
     2013-10-24 11:39:10   PairedTo        0x1EA0FA
     2013-10-24 11:39:10   R-burstRx       off
     2013-10-24 11:39:10   R-intKeyVisib   invisib
     2013-10-24 11:39:10   R-pairCentral   0x1EA0FA
     2013-10-24 11:39:10   RegL_00:        01:00 02:01 05:00 0A:1E 0B:A0 0C:FA 0F:00 00:00
     2013-10-24 16:38:40   humidity        65
     2013-10-24 16:38:40   state           T: 19.0 H: 65
     2013-10-24 16:38:40   temperature     19.0
   Helper:
     mId        003D
     rxType     12
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Role:
       chn        1
       dev        1
     Rssi:
       At_hmcfglan:
         avg        -55.8135593220339
         cnt        59
         lst        -56
         max        -55
         min        -57
Attributes:
   actCycle   000:10
   actStatus  alive
   autoReadReg 4_reqStatus
   expert     2_full
   firmware   1.2
   model      HM-WDS10-TH-O
   peerIDs   
   room       CUL_HM,Balkon
   serialNr   JEQ0268211
   subType    THSensor

Grüße
Joachim

Damian

Hallo Joachim,

bei dir ist alles ok. Leider musste ich feststellen: it´s not a feature, it´s a bug  >:(

Es liegt an der Null von desired_value.

Mit

define Frostschutz_Balkon THRESHOLD T_Balkon_unten:temperature:0:1 HZ_Schalter_Balkon

wird es erst mal klappen.

Versuche es bis morgen zu fixen, bis dahin wird es wohl noch keinen Frost geben  ;)

Gruß

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

jps

Hi Damian,
ich hätte meinen Pflanzen etwas mehr Komfort gönnen sollen ;)
Klappt jetzt erstmal... und wir haben ja noch goldenen Herbst.
Vielen Dank
Joachim

Damian

Der Frost kann kommen. THRESHOLD-Update ab morgen per FHEM-Update.

Gruß

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

schenkel

Hallo,

das Modul ist genau, was ich suche (hatte mir vor Ewigkeiten mal selbst was gestrickt, um Elektroheizungen mit HM-CC-TC mit HM-LC-Sw1-Pl2 zu verbinden).
Ich komme von alten FS20-Wandthermostaten. Die hatten eine Sicherheitsschaltung drin, daß die Aktoren immer im on-for-timer laufen. Sendet das Thermostat nicht mehr bleibt der Schalter aus und es kann keine Elektroheizung überhitzen oder größere Kosten verursachen.

Daher ein Feature-Request :
das cmd1 auf on-for-timer zu setzen ist ja schon möglich. Gäbe es die Option, das Einschalt-Kommando jedesmal zu wiederholen, wenn ein neues Reading vom Thermostat empfangen wird ?

Viele Grüße,
Sven

Damian

Hallo Sven,

du kannst jetzt schon durch set <dein Threshold-Modul> active das THRESHOLD-Modul in den Zustand "wait for next cmd" versetzen, damit wird beim nächsten Senden deines Thermostats das letzte bzw. das gerade aktuelle cmd-Kommando wiederholt.

Und wenn du es regelmäßig haben willst, dann das obige set-Kommando in einen at-Befehl, notify oder heating_control einbauen.

Gruß

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

krk_0812

#186
Hallo Demian,

genau das, was ich gesucht hatte.
Einfach anzuwenden, gut beschrieben und funktioniert (auch bei Laien!) auf Anhieb.
Einfach toll!
Frage eines Anfängers . . .
Wo liegt der grundlegende Unterschied zwischen "watchdog" und "Threshold"?

Danke und weiter so!!!
Viele Grüße
Manfred
2 x FB7390 + 2 x RaspberryPi (FHEM)
Reserve: 2x FB7050, 2x FB7270, 1x FB7390, 1 x 7490, CUL,

justme1968

#187
hallo damian,

wo ich gerade die frage oben sehr fällt mir ein das ich noch einen vorschlag machen wollte :).

es wäre klasse wenn es möglich wäre die schalt aktion ähnlich wie in watchdog so lange zu verzögern bis die schaltbedingung eine gewisse zeit bestanden hat.

ein beispiel wäre z.b. eine beschattungs steuerhung die nicht bei einer wolke wieder auf machen soll sondern erst wenn es eine gewisse zeit nicht mehr sonnig ist oder eine beleuchtung bei dunkelheit die nicht bei einem vorbei fahrenden auto wider aus gehen soll sondern erst wenn es längere zeit hell war.

das geht zwar mit einem nachgeschalteten watchdog oder at das bei bedarf wieder gelöscht wird die zeit direkt anzugeben ist aber schöner.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Damian

Zitat von: krk_0812 am 05 November 2013, 22:46:46
Wo liegt der grundlegende Unterschied zwischen "watchdog" und "Threshold"?

Das sind zwei völlig verschiedene Dinge: siehe die jeweilige commandref der Module.

Nur kurz: watchdog wird oft zum Verzögern von Aktionen benutzt, THRESHOLD reagiert dagegen sofort und wird oft zum Nachbilden eines Thermostats benutzt (Schalten in Abhängigkeit einer Schwellobergrenze bzw. Schwelluntergrenze eines Wertes, wie z. B. Temperatur)

Gruß

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

Damian

Zitat von: justme1968 am 06 November 2013, 08:44:45
hallo damian,

wo ich gerade die frage oben sehr fällt mir ein das ich noch einen vorschlag machen wollte :).

es wäre klasse wenn es möglich wäre die schalt aktion ähnlich wie in watchdog so lange zu verzögern bis die schaltbedingung eine gewisse zeit bestanden hat.

ein beispiel wäre z.b. eine beschattungs steuerhung die nicht bei einer wolke wieder auf machen soll sondern erst wenn es eine gewisse zeit nicht mehr sonnig ist oder eine beleuchtung bei dunkelheit die nicht bei einem vorbei fahrenden auto wider aus gehen soll sondern erst wenn es längere zeit hell war.

das geht zwar mit einem nachgeschalteten watchdog oder at das bei bedarf wieder gelöscht wird die zeit direkt anzugeben ist aber schöner.

gruss
  andre

Hallo Andre,

das hatte ich insb. für meine Beschattungssteuerung bereits schon auf dem Plan gehabt. Da das Modul nicht zeit-, sondern ereignissgesteuert funktioniert, war mir  der Programmieraufwand für die Änderungen zu hoch gewesen, insb. weil man sehr elegant nicht nachgeschaltet, sondern vorgeschaltet einen on/off-Trigger (Sonne da oder nicht da) über einen watchdog verzögern kann, den man dann als zweiten Sensor mit OR oder AND verknüpft (siehe meinen Vorschlag zur Beschattungssteuerung in diesem Thread)

Gruß

Damian

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

justme1968

ja. bei der beschattung mit on/off ist es einfach. wenn es aber ein sensor ist der einen helligkeits wert liefert funktioniert ein einfacher watchdog nicht mehr.

vorhin ist noch ein anwendungsfall aufgetaucht: eine master/slave verbindung von einer steckdose mit energiemessung eins einer einfachen die nur schslten kann. sobald der verbrauch eine gewisse zeit unter dem schwellwert ist soll die zweite dose ausgeschaltet werden. auch das geht mit dem watchdog nur über umwege wie z.b. ein user reading das aus dem verbrauch einen binären ja/nein wert macht.

an anwendungsfällen mangelt es also nicht:)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Damian

#191
Zitat von: justme1968 am 06 November 2013, 10:33:11
ja. bei der beschattung mit on/off ist es einfach. wenn es aber ein sensor ist der einen helligkeits wert liefert funktioniert ein einfacher watchdog nicht mehr.

vorhin ist noch ein anwendungsfall aufgetaucht: eine master/slave verbindung von einer steckdose mit energiemessung eins einer einfachen die nur schslten kann. sobald der verbrauch eine gewisse zeit unter dem schwellwert ist soll die zweite dose ausgeschaltet werden. auch das geht mit dem watchdog nur über umwege wie z.b. ein user reading das aus dem verbrauch einen binären ja/nein wert macht.

an anwendungsfällen mangelt es also nicht:)

gruss
  andre

Geht genauso gut nur umgekehrt. Du definierst dir ein THRESHOLD-Modul auf die Helligkeit nur für Zustandsanzeige, also ohne irgendetwas zu schalten z. B.

define TH_Helligkeit THRESHOLD helligkeitssensor

und den TH_Helligkeit packst du in einen watchdog, der dann das Schalten verzögert auslöst.

Gruß

Damian




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

justme1968

sag ich doch. nachgeschaltet :)

aber halt eben immer zwei devices.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

krk_0812

Hallo Demian,

danke für die kurze obige Erklärung - mich beschäftigt aber noch ein Problem.
Im Zusammenhang mit einer Thermostatfunktion stellt man in der Regel das Thermostat einmalig ein und dieser Zustand geht nicht verloren.
Bei "Threshold" finde ich zwar: "Für die Funktionalität, muss nach der Definition eines Thermostats oder Hygrostats vom Typ THRESHOLD, die Solltemperatur oder -feuchtigkeit über set <name> desired <value> gesetzt werden."
Dieser Befehl wird aber nicht in der fhem.cfg gespeichert, deshalb ist beim "shutdown restart" das Thermostat funktionslos.

Liege ich richtig, oder Denkfehler?

Danke!
Gruß Manfred
2 x FB7390 + 2 x RaspberryPi (FHEM)
Reserve: 2x FB7050, 2x FB7270, 1x FB7390, 1 x 7490, CUL,

Damian

Zitat von: krk_0812 am 06 November 2013, 12:49:22
Hallo Demian,

danke für die kurze obige Erklärung - mich beschäftigt aber noch ein Problem.
Im Zusammenhang mit einer Thermostatfunktion stellt man in der Regel das Thermostat einmalig ein und dieser Zustand geht nicht verloren.
Bei "Threshold" finde ich zwar: "Für die Funktionalität, muss nach der Definition eines Thermostats oder Hygrostats vom Typ THRESHOLD, die Solltemperatur oder -feuchtigkeit über set <name> desired <value> gesetzt werden."
Dieser Befehl wird aber nicht in der fhem.cfg gespeichert, deshalb ist beim "shutdown restart" das Thermostat funktionslos.

Liege ich richtig, oder Denkfehler?

Danke!
Gruß Manfred

Es ist ein Denkfehler. ;)

Gruß

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