Neues Modul - THRESHOLD

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

Vorheriges Thema - Nächstes Thema

Groby

@Andreas,

...
"also wird das nichts mit meiner Ventilator ansteuerung :("
...

Du kannst State über das attr stateFormat modifizieren.

Mfg Groby

Damian

Zitat von: Groby schrieb am Fr, 29 März 2013 10:27@Andreas,

...
"also wird das nichts mit meiner Ventilator ansteuerung :("
...

Du kannst State über das attr stateFormat modifizieren.

Mfg Groby

Ist nicht mehr nötig.

Das Filtern nach Zahlen ist schon seit der eingecheckten Version drin.

Gruß

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

det.

Hallo Damian,
hab da noch eine Herausforderung - ohne Änderung des obigen Codes kommt jetzt periodisch diese Meldung:2013.03.29 07:05:43 1: ERROR: endless loop detected in structure_Notify Heizen
2013.03.29 07:15:44 1: ERROR: endless loop detected in structure_Notify Heizen
fällt Dir dazu eine Lösung ein? Danke,
LG
det.

Damian

Zitat von: det. schrieb am Fr, 29 März 2013 14:25Hallo Damian,
hab da noch eine Herausforderung - ohne Änderung des obigen Codes kommt jetzt periodisch diese Meldung:2013.03.29 07:05:43 1: ERROR: endless loop detected in structure_Notify Heizen
2013.03.29 07:15:44 1: ERROR: endless loop detected in structure_Notify Heizen
fällt Dir dazu eine Lösung ein? Danke,

Ist bei mir noch nicht aufgetreten.

Vielleicht liegt es am Mapping:

attr OWSWITCHB dummy_type_map B: ON: ON B: OFF: OFF

Warum hast du die Leerzeichen eingebaut? Die Leerzeichen grenzen eigentlich mehrere Definitionen von einander ab. Du hast nur zwei und nicht sechs.

Mein Vorschlag war viel mehr:

attr OWSWITCHB dummy_type_map B:ON:ON B:OFF:OFF

Probier die Änderung mal aus.

Gruß

Damian

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

det.

Danke, geht auch ohne die Leerzeichen und die Fehlermeldung ist bisher nicht mehr aufgetreten. Die Leerzeichen hab ich reingemogelt weil der state mit Leerzeichen ist und die da auch gebraucht werden: state A: OFF B: ON< um den Switch zu schalten.
LG
det.

Damian

[quote title=Damian schrieb am Fr, 29 März 2013 10:40]
Zitat von: Groby schrieb am Fr, 29 März 2013 10:27@Andreas,

...
"also wird das nichts mit meiner Ventilator ansteuerung :("
...

... und es geht doch, auch, wenn etwas unkonventionell.

Das Hacken auf Andreas Rechner kann man hier nachvollziehen;)

Link

Gruß

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

rokno

Hallo Damian,

folgendes erhalte ich beim Speichern der config:

ERROR:
Global symbol "$desired_tmp" requires explicit package name at (eval 2737) line 1, <$fh> line 328. Unknown command }, try help




Zitat von: Damian schrieb am Mi, 27 März 2013 16:48Hallo Rik,

Definition eines THRESHOLD-Devices in Abhängigkeit von der Temperatur:

define TH_Bad THRESHOLD Heizung_Bad <dein FS20ST-Device>

und dann noch das Setzen der Wunschtemperatur:

define desired_notify notify Heizung_Bad:.* {my $desired_tmp=ReadingsVal ("Heizung_Bad", "desired-tmp","17");{fhem "set TH_Bad desired $desired_tmp"}
}


Das war es schon.

Eleganter wäre natürlich sich die letzte desired-tmp vom FHT80B in einer Variablen zu merken und nur bei Änderung "set TH_Bad desired $desired_tmp" aufzurufen.

So ist der Notify aber einfacher. Ich werde zukünftig im THRESHOLD-Modul noch einbauen, dass das Setzen der gleichen desired-temp zu keiner Zustandsänderung im Modul führt.

Gruß

Damian




Damian

Zitat von: rokno schrieb am Do, 11 April 2013 23:27Hallo Damian,

folgendes erhalte ich beim Speichern der config:

ERROR:
Global symbol "$desired_tmp" requires explicit package name at (eval 2737) line 1, <$fh> line 328. Unknown command }, try help

Damit ein Semikolon übrig bleibt, musst du in der Definition zwei angeben:

define desired_notify notify Heizung_Bad:.* {my $desired_tmp=ReadingsVal ("Heizung_Bad", "desired-tmp","17");;{fhem "set TH_Bad desired $desired_tmp"}}

Gruß

Damian

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

rokno

Danke Damian....

Gerne möchte ich mit dem FHT80B-3 die Temperatur in dem Raum messen.
Diese wird mit der Variable "measured-temp" an fhem geliefert.

Am FHT80B-3 hat man genauso die Möglichkeit über ein Stellrad die Soll-temperatur für den Raum vorzugeben. Diese wird dann durch "desired-temp" abgebildet.

Kannst Du mir bitte nochmals in der Richtung weiterhelfen, also am Stellrad die Solltemperatur vorgeben und das THRESHOLD Module regelt anhand der gemessene Temperatur.

Gruß

Damian

Zitat von: rokno schrieb am Fr, 12 April 2013 21:12Danke Damian....

Gerne möchte ich mit dem FHT80B-3 die Temperatur in dem Raum messen.
Diese wird mit der Variable "measured-temp" an fhem geliefert.

Am FHT80B-3 hat man genauso die Möglichkeit über ein Stellrad die Soll-temperatur für den Raum vorzugeben. Diese wird dann durch "desired-temp" abgebildet.

Kannst Du mir bitte nochmals in der Richtung weiterhelfen, also am Stellrad die Solltemperatur vorgeben und das THRESHOLD Module regelt anhand der gemessene Temperatur.

Gruß

Wo ist der Unterschied zu FHT80B? Funktioniert es denn mit dem FHT80B mit den beiden Definitionen, die ich vorgeschlagen habe? Bei dem FHT80B war die aktuelle Temperatur lt. deinem Reading-Output unter measured-temp sowie temperature angegeben.

Wenn du measured-temp abfragen willst, dann musst du das einfach angeben:

define TH_Bad THRESHOLD Heizung_Bad:measured-temp:1 <dein FS20ST-Device>

Die Eins steht dann für die Hysterese von einem Grad.

Das Setzen der desired-temp ist dann der notify, wie vorgeschlagen.

Wie schon gesagt, ich werde noch im THRESHOLD-Modul einbauen, dass beim zyklischen Setzen der desired-temp, wie in dem notify, nicht jedes mal ein Befehl an den Schalter gesendet wird, wenn sich die desired-temp nicht ändert.


Gruß

Damian






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

rokno

Stimmt, temperature und measured-temp sind gleich.

Hab den Vorschlag mit measured-temp übernommen.


Kann es sein, dass in deinem Beispielcode an der Stelle -tmp ein "e" fehlt?                          
("Heizung_Bad", "desired-tmp","17")

Hab das fehlende e mal ergänzt --> der Schalter schaltet!!
Allerdings erhalte ich nun folgende Meldungen im Log.
************
2013.04.12 23:28:23 2: CUL_HM set HM_Schalter1 on rxt:1
2013.04.12 23:28:23 3: set TH_Bad desired 26.5
2013.04.12 23:28:23 2: COC: unknown message 80021CA9ADF112340101C8003E0F
2013.04.12 23:28:25 2: COC: unknown message 80021CA9ADF112340101C8003F10
2013.04.12 23:28:30 2: COC: unknown message 80021CA9ADF112340101C8003E0F
2013.04.12 23:30:19 2: CUL_HM set HM_Schalter1 on rxt:1
2013.04.12 23:30:19 3: set TH_Bad desired 26.5
2013.04.12 23:30:20 3: COC: Unknown code SM86880021CA9ADF112340101C8003E11, help me!
2013.04.12 23:30:20 2: CUL_HM set HM_Schalter1 on rxt:1
2013.04.12 23:30:21 3: set TH_Bad desired 20.0
2013.04.12 23:30:24 2: COC: unknown message m C F80021CA9ADF112340101C8003E11
2013.04.12 23:30:24 2: COC: unknown message  x
2013.04.12 23:32:16 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:32:16 3: set TH_Bad desired 20.0
2013.04.12 23:32:16 2: COC: unknown message 180021CA9ADF11234010100003E27
2013.04.12 23:32:18 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:32:18 3: set TH_Bad desired 20.5
2013.04.12 23:32:18 2: COC: unknown message known80021CA9ADF11234010100003327
2013.04.12 23:32:19 2: COC: unknown message  T V 80021CA9ADF11234010100003327
*************

Gruß


Damian

Zitat von: rokno schrieb am Fr, 12 April 2013 23:31Stimmt, temperature und measured-temp sind gleich.

Hab den Vorschlag mit measured-temp übernommen.


Kann es sein, dass in deinem Beispielcode an der Stelle -tmp ein "e" fehlt?                          
("Heizung_Bad", "desired-tmp","17")



Gruß

Ja.

Ich habe gerade das THRESHOLD-Modul angepasst und teste gerade. Wenn alles gut geht, gibt´s morgen ein update.

Mit der jetzigen Version wird der notify viele Log-Einträge produzieren mit set TH_Heizung_Bad desired Wert. Und es werden unnötige set off bzw. on Befehle an deinen Schalter gesendet.

Aber teste erst mal mit dem aktuellen THRESHOLD-Modul, ob es überhaupt klappt.
 
Gruß

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

rokno

Das sieht seht gut aus bis jetzt! Der Homematic Schalter schaltet zuverlässig.

Allerdings erhalte ich folgende Einträge im Log:

2013.04.12 23:34:12 3: set TH_Bad desired 20.5
2013.04.12 23:34:13 2: COC: unknown message 0021C80021CA9ADF11234010100003327
2013.04.12 23:34:15 2: COC: unknown message 4ED7680021CA9ADF11234010100003327
2013.04.12 23:34:20 2: COC: unknown message 8002180021CA9ADF11234010100003327
2013.04.12 23:36:09 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:36:09 3: set TH_Bad desired 20.5
2013.04.12 23:36:09 2: COC: unknown message 0101C80021CA9ADF11234010100003327
2013.04.12 23:36:11 2: COC: unknown message 03B7480021CA9ADF11234010100003327
2013.04.12 23:36:14 2: COC: unknown message 021CA80021CA9ADF11234010100003327
2013.04.12 23:38:05 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:38:05 3: set TH_Bad desired 20.5
2013.04.12 23:38:06 3: COC: Unknown code ED76880021CA9ADF112340101000033, help me!
2013.04.12 23:38:06 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:38:07 3: set TH_Bad desired 19.0
2013.04.12 23:38:07 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:38:07 3: set TH_Bad desired 19.0
2013.04.12 23:38:07 3: set TH_Bad desired 19.0
2013.04.12 23:38:08 2: COC: unknown message 9E5B080021CA9ADF11234010100003326
2013.04.12 23:38:13 2: COC: unknown message 05D9080021CA9ADF11234010100003328
2013.04.12 23:40:02 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:40:02 3: set TH_Bad desired 19.0
2013.04.12 23:40:04 2: COC: unknown message DF11280021CA9ADF11234010100003326
2013.04.12 23:40:06 2: COC: unknown message 88D0680021CA9ADF11234010100003326
2013.04.12 23:41:58 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:41:59 3: set TH_Bad desired 19.0
2013.04.12 23:42:01 2: COC: unknown message 722A580021CA9ADF11234010100003326
2013.04.12 23:42:06 2: COC: unknown message 8002180021CA9ADF11234010100003326
2013.04.12 23:43:55 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:43:55 3: set TH_Bad desired 19.0
2013.04.12 23:43:55 2: COC: unknown message 0101C80021CA9ADF11234010100003326
2013.04.12 23:43:57 2: COC: unknown message 03B7480021CA9ADF11234010100003327
2013.04.12 23:43:59 2: COC: unknown message 8003E80021CA9ADF11234010100003426
2013.04.12 23:45:51 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:45:51 3: set TH_Bad desired 19.0
2013.04.12 23:45:52 2: COC: unknown message 8003E80021CA9ADF11234010100003326
2013.04.12 23:45:54 2: COC: unknown message 8003D80021CA9ADF11234010100003326
2013.04.12 23:45:55 2: COC: unknown message 8003D80021CA9ADF11234010100003326
2013.04.12 23:47:48 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:47:48 3: set TH_Bad desired 19.0
2013.04.12 23:47:48 2: COC: unknown message 8003D80021CA9ADF11234010100003327
2013.04.12 23:47:50 2: COC: unknown message 8003E80021CA9ADF11234010100003327
2013.04.12 23:47:55 2: COC: unknown message 8003F80021CA9ADF11234010100003327
2013.04.12 23:49:44 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.12 23:49:44 3: set TH_Bad desired 19.0
2013.04.12 23:49:45 2: COC: unknown message 8003E80021CA9ADF11234010100003327
2013.04.12 23:49:47 2: COC: unknown message 8003E80021CA9ADF11234010100003326
2013.04.12 23:49:50 2: COC: unknown message 8003E80021CA9ADF11234010100003425


Gruß

Damian

Kommen die Meldungen auch, wenn du manuell set HM_Schalter1 off aufrufst?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rokno

Zitat von: Damian schrieb am Sa, 13 April 2013 00:02Kommen die Meldungen auch, wenn du manuell set HM_Schalter1 off aufrufst?

Es sieht schwer danach aus.... on wurde von mir manuell gesetzt.

2013.04.13 00:03:13 2: CUL_HM set HM_Schalter1 on rxt:1
2013.04.13 00:03:14 2: COC: unknown message 0003380021CA9ADF112340101C800330E
2013.04.13 00:03:16 2: COC: unknown message 0003380021CA9ADF112340101C8003F0C
2013.04.13 00:03:17 2: COC: unknown message 0003480021CA9ADF112340101C800400E
2013.04.13 00:03:20 2: CUL_HM set HM_Schalter1 off rxt:1
2013.04.13 00:03:20 3: set TH_Bad desired 19.0

Ein Auszug noch aus der Logdatei des Schalters:
2013-04-13_00:03:13 HM_Schalter1 set_on
2013-04-13_00:03:20 HM_Schalter1 set_off
2013-04-13_00:03:21 HM_Schalter1 MISSING ACK
2013-04-13_00:03:52 HM_Schalter1 set_off
2013-04-13_00:03:54 HM_Schalter1 set_on
2013-04-13_00:03:58 HM_Schalter1 set_off
2013-04-13_00:03:58 HM_Schalter1 set_on
2013-04-13_00:04:01 HM_Schalter1 MISSING ACK

Da muss ich wohl nach dem COC schauen.... :-(



Lag wohl am HMLAN Module... --> update durchgeführt.... Fehler tritt nicht mehr auf...

Gruß