Neues Modul - Heating_Control, WeekdayTimer

Begonnen von Dietmar63, 04 Januar 2013, 19:42:26

Vorheriges Thema - Nächstes Thema

Dietmar63

Ich denke  dein Problem ist lösbar!

2015.05.17 10:14:08 3: [HC_Bad_Normal] invalid device, <OG_Bad_T> not found
kommt immer dann wenn das benannte Gerät in fhem noch nicht bekannt ist. Ursache: Reihenfolgenproblem in der Definitionsdatei.
Ist aber nicht weiter schlimm, weil es sich nur um einen Hinweis handelt.

Das Problem entsteht durch folgenden Code, der von structure an die MAX Thermostate  weitergegeben, aber nicht verstanden werden:
2015.05.19 17:07:00 5: Cmd: >set OG_Bad_T  20<

Structures werden von HC nicht direkt als Heizungen erkannt - wie auch.
Du must HC helfen den richtigen Befehl zu generieren:
Versuch bitte mal:
define HC_Bad_Min Heating_Control OG_Bad_T mo-fr|05:15|22.5 mo-fr|07:15|15 $we|08:00|22 $we|19:00|15 { fhem("set @ desiredTemperature %") if (ReadingsVal("HC_Bad_Off_Profile", "state", "") eq "Minimal")}

Dann wird
set OG_Bad_T desiredTemperature  20
als Code erzeugt und verarbeitet. Das sollte dann jeweils an die MAX-Thermostate weitergereicht und verstanden werden.

Du musst übrigens nicht komplett durchstarten und verbose global setzen. Es reicht wenn du verbose auf einzelne devices setzt. Es ist auch möglich in den details das HC einfach neu zu definieren, dann wird ebenfalls geschaltet .
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

persching

Jetzt funktioniert es. Da wäre ich als Neuling nie drauf gekommen. Wäre das nicht was fürs Wiki?

Danke!

Dietmar63

in den Beispielen in der commandref steht das eigentlich so drin.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

persching

Und wie wäre der Code wenn ich zwei ReadingsVal Und-Verknüpfen will? Hab folgendes versucht, aber das klappt nicht:

define HC_Bad_KeinArbeitstag Heating_Control OG_Bad_T mo-so|07:45|22 mo-so|19:00|20 { fhem("set @ desiredTemperature %") if ((ReadingsVal("HCWeekprofile", "state", "") eq "off") and (ReadingsVal("HC_Bad_Off_Profile", "state", "") eq "Auto"))}


Dietmar63

#574
and durch && ersetzen
Wenn es zu kompliziert wird es in einer Zeile auszudrücken, dann eine Funktion in 99_utils aufnehmen und von HC aufrufen
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

persching

Ich schon wieder :(

Ich hab bei einem Heating_Control einen Fensterkontakt eingefügt und einen Schaltpunkt provoziert. Dabei wird erkannt, dass das Fenster offen ist, aber trotzdem wird die Temperatur wieder hoch gesetzt - das kann doch nicht sein, oder?

Logfile sagt folgendes:

2015.05.22 15:37:00 5: [HC_Gaesteklo_Min] list of window sensors found: 'EG_Bad_Fensterkontakt HC_Gaesteklo_Min' 2015.05.22 15:37:00 5: [HC_Gaesteklo_Min] sensor 'EG_Bad_Fensterkontakt' Reading/Attribute 'state' is 'opened' 2015.05.22 15:37:00 4: [HC_Gaesteklo_Min]:Update - timer seems to be active today: 0123456|15:37|20 2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] device type MAX:HeatingThermostat recognized, setModifier:desiredTemperature 2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] aktParam:12.0 newParam:20.0 - is not disabled 2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] command: set EG_Bad_T desiredTemperature 20.0 executed 2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] akt: 2015-05-22 15:37:00(fr) -->> 20 2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] next: 2015-05-23 08:00:00(sa) -->> 18

Dietmar63

Das liegt wahrscheinlich daran, dass dein Fensterkontakttyp nicht automatisch erkannt wird.
Siehe Anhang!!!

Je nach Typ findet das Modul im state oder sonstwo einen Text, der einen bestimmten Inhalt haben muss.
Mit dem state opened ist mir kein Fensterkontakt bekannt.


2015.05.22 15:37:00 5: [HC_Gaesteklo_Min] list of window sensors found: 'EG_Bad_Fensterkontakt HC_Gaesteklo_Min'
2015.05.22 15:37:00 5: [HC_Gaesteklo_Min] sensor 'EG_Bad_Fensterkontakt' Reading/Attribute 'state' is 'opened'
2015.05.22 15:37:00 4: [HC_Gaesteklo_Min]:Update - timer seems to be active today: 0123456|15:37|20
2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] device type MAX:HeatingThermostat recognized, setModifier:desiredTemperature
2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] aktParam:12.0 newParam:20.0 - is not disabled
2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] command: set EG_Bad_T desiredTemperature 20.0 executed
2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] akt:
2015-05-22 15:37:00(fr) -->> 20
2015.05.22 15:37:00 4: [HC_Gaesteklo_Min] next:
2015-05-23 08:00:00(sa) -->> 18


Um was handelt es sich bei EG_Bad_Fensterkontakt denn?
Es kann natürlich auch noch sein, dass nach der großen Umstellung vor Ostern  das eine oder andere nicht vollständig funktioniert.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

persching

Das sind die MAX Fensterkontakte.

Hier die Internals:

DEF  ShutterContact 024d71

IODev  cm

LASTInputDev cm

MSGCNT 56

NAME EG_Bad_Fensterkontakt

NR 51

RSSI -49

STATE closed

TYPE MAX

addr 024d71

backend cm

cm_MSGCNT 56

cm_TIME 2015-05-22 19:32:03

rferror 0

type ShutterContact


Dietmar63

Kannst du dir beim posten bitte Mühe geben und Code, Auszüge aus Logs und Readings mit den Formatierern bearbeiten.
Für sämtliche ehrenamtliche Entwicker hier ist es dann einfacher die Probleme zu erfassen und noch schneller zu helfen.

Ich nehme mal den Zustand opened für Fensterkontakte von MAX auf und gebe das Modul frei, wenn sonst nichts gegen die Freigabe spricht.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

persching

Ja ich werde mir mehr Mühe geben. Ich antworte derzeit meist mit dem Handy und Tapatalk, da gibt es keine Buttons für "Code" etc. Aber ich weiß, die kann man auch manuell einfügen, sorry!

Die Zustände sind "opened" und "closed".

Dietmar63

habe es geändert - prüf bitte ob es funktkioniert.
Ich habe kein MAX und kann das auch nicht wirklich testen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

persching

Funktioniert perfekt! Vielen Dank für deine Unterstützung!

Hollo

Heute (Pfingstmontag) ist mal wieder Wochentag und Feiertag gleichzeitig.
Freundlicherweise ging mein Musikwecker daher um 05:45 Uhr an (Einstellung für Montag) und quasi nochmal um 08:00 Uhr (Einstellung für Wochenende/Feiertag).  :(

Da ich hier http://forum.fhem.de/index.php/topic,10011.msg283580.html#msg283580 bisher keine Antwort bekommen habe, gehe ich nun davon aus, dass man (zumindest ohne zusätzliche Abfragen) nur entweder mit den Wochentagen oder $we / !$we arbeiten kann!?
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Dietmar63

Zitat
Zurück zur Frage...
- wird nun an einem Samstag, der ja gleichzeitig auch WE ist, um 7:30 oder um 8:00 Uhr geschaltet?
- wird an einem Feiertag-Montag, wie jetzt Ostermontag gewesen wäre, um 5:45 oder um 8:00 Uhr geschaltet?
- wie müsste ich es korrekt definieren, um "nur" einen Feiertag wie einen Sonntag zu behandeln?

Bitte keine Antwort "warte es doch ab und lass Dich überraschen"; es geht um das Verständnis und die richtige Konfiguration.  :-[

Gruß,
Hollo

Zitat
Bitte keine Antwort "warte es doch ab und lass Dich überraschen"; es geht um das Verständnis und die richtige Konfiguration.  :-[

Bitte keine Antwort heißt ... keine Antwort


Bei den Angaben zum Tag handelt es sich immer im logische Oder - Verknüpfungen.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Hollo

Zitat von: Dietmar63 am 25 Mai 2015, 23:01:06
Bitte keine Antwort heißt ... keine Antwort
Bitte keine Antwort "warte es doch ab und lass Dich überraschen" heisst... ich hätte gern einen konkreten Tipp/Hinweis gehabt.   ;)

ZitatBei den Angaben zum Tag handelt es sich immer im logische Oder - Verknüpfungen.
Aha. Dementsprechend wird die "Bedingung" natürlich sowohl um 05:45 für Montag als auch um 08:00 für den Feiertag wahr.
Dann muss ich halt innerhalb der Woche immer zur selben Zeit starten, oder eine zusätzliche Abfrage auf $we einbauen, um die Doppelung zu filtern.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"