Logmeldung bei set controlMode auto

Begonnen von jhohn, 17 Januar 2013, 20:00:30

Vorheriges Thema - Nächstes Thema

jhohn

Was bedeutet das?

2013.01.17 19:57:05 3: set eg_ez_thermostat controlMode auto : please complete settings for displayMode decalcDay displayTempUnit displayTemp
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

martinp876

Userseitig heist es, dass der Wert erst in das device geschrieben wird, wenn alle Werte in der Liste angegeben wurden.

Technischer Hintergrund ist, dass hier ein Bitfeld im TC geschrieben wird und FHEM erst alle bits kennen muss, bevor geschrieben werden kann.

Alternative ist das setzen der Werte ueber register. Man kann ueber getConfig den Stand auslesen und dann die Werte veraendern (regSet....)


jhohn

Danke, dann werde ich mal die anderen Werte suchen und setzen.

$Frau oder $Kind spielen immer rum, drücken auf den Menü Knopf und das Thermostat steht dann auf "cent" und das Tagesprogramm funktioniert nicht mehr.
Ich muss das Ganze glaube ich mal auf Heating_Control umstellen.
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

martinp876

Die Tasten kannst du auch sperren ;-)
Aber dann ist die Frau evtl enttaeuscht?

wkarl

Hallo Martin,

da möchte ich gleich mal nachhaken. Das habe ich auch so interpretiert und das hat auch mal bei mir funktioniert. Alle Werte per Hand gesetzt und dann wurde es auch gemacht. Nun wollte ich mir die Sache vereinfachen und folgende Unterroutine in mein 99_MyUtils.pm gepackt.
######## SetTCsDef ##################################################
# What  :
# Call  : { SetTCsDef('device name') }
# Source:
# Prereq:
#
sub
SetTCsDef($) {
    my $tc2set = $_[0];
    { fhem ("set $tc2set controlMode manual") };
    { fhem ("set $tc2set displayMode temp-only") };
    { fhem ("set $tc2set displayTemp actual") };
    { fhem ("set $tc2set displayTempUnit celsius") };
    { fhem ("set $tc2set decalcDay Sat") };
}

Aber das tut nicht. Auch ein manuelles Setzen mag nicht mehr.

Irgendeine Idee was da passiert?

Danke und ciao
walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

Wuppi68

Zitat von: wkarl schrieb am Fr, 18 Januar 2013 19:24Hallo Martin,

da möchte ich gleich mal nachhaken. Das habe ich auch so interpretiert und das hat auch mal bei mir funktioniert. Alle Werte per Hand gesetzt und dann wurde es auch gemacht. Nun wollte ich mir die Sache vereinfachen und folgende Unterroutine in mein 99_MyUtils.pm gepackt.
######## SetTCsDef ##################################################
# What  :
# Call  : { SetTCsDef('device name') }
# Source:
# Prereq:
#
sub
SetTCsDef($) {
    my $tc2set = $_[0];
    { fhem ("set $tc2set controlMode manual") };
    { fhem ("set $tc2set displayMode temp-only") };
    { fhem ("set $tc2set displayTemp actual") };
    { fhem ("set $tc2set displayTempUnit celsius") };
    { fhem ("set $tc2set decalcDay Sat") };
}


hi,
schmeiss die set Befehle mal in die Befehlszeile rein, ich meine soeben bemerkt zu haben, dass mindestens actual ein LEERZEICHEN dahinter verlangt ...

könnte ein heisser Tip sein

Gruß

der Ralf
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

jhohn

Ja die Tasten kann man sperren, dann lässt sich aber auch die Temperatur nicht mehr lokal einstellen.

folgendes funktioniert bei mir:
######## setTCsDef  ####################################################
# What  : Default der Thermostate einstellen
# Call  : { setTCsDef($thermostat) }
#
sub setTCsDef($) {
        my $tc2set = shift(@_);
        { fhem ("set " .$tc2set. " controlMode manual") };
        { fhem ("set " .$tc2set. " displayMode temp-only") };
        { fhem ("set " .$tc2set. " displayTemp actual") };
        { fhem ("set " .$tc2set. " displayTempUnit celsius") };
        { fhem ("set " .$tc2set. " decalcDay Sat") };
}

FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

martinp876

Man muss sich entscheiden ob der User lokal schalten darf oder nicht. Wenn er schalten darf und man etwas ueberwachen will muss mann diese ueberwachung von hand bauen - also beispielsweise regelmaessig die Werte auslesen und korrigieren, wie man es will.

Alternativ kann man auch eine notify auf bestimmte veraenderungen bauen und dies dann rueckgaengig manchen. Also wenn der Mode auf Central gestellt wird ein notify und ein set auf Auto. Das ist - denke ich - die Richtung in die du willst. Da sind deiner Phantasie keine Grenzen gesetzt.

Gruss
Martin

jhohn

Ich habs ja auch so wie oben eingebaut, funktioniert gut.
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen