Elektroheizung mit HM-CC-TC steuern

Begonnen von Guest, 25 September 2012, 12:27:22

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

So jetzt habe ich die perl-Befehle einzeln eingegeben (debug) und erhalte
nach dem if ...
 
Global symbol "$tist" requires explicit package name at (eval 25) line 1.
Global symbol "$tsoll" requires explicit package name at (eval 25) line 1.
Global symbol "$val" requires explicit package name at (eval 25) line 1.
Was hat dies zu bedeuten?

Am Dienstag, 25. September 2012 13:47:56 UTC+2 schrieb Rudolf Koenig:

> > Hat sich leider nichts ver�ndert. Das speichern der fhem.cfg �ber
> "save
> > fhem.cfg" liefert auch keine Fehlermeldung.
>
> Ich empfehle ein Schritt-fuer-Schritt debuggen wie auch in
>   http://fhem.de/commandref.html#perl
> beschrieben ist.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

probier mal in der Kommandozeile:

{ReadingsVal("Buero_Wandthermostat","measured-temp","")}

und

{ReadingsVal("Buero_Wandthermostat","desired-temp","")}

VG
Ralf

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Am Freitag, 28. September 2012 15:04:45 UTC+2 schrieb team-menge:
>
> So jetzt habe ich die perl-Befehle einzeln eingegeben (debug) und erhalte
> nach dem if ...
>  
> Global symbol "$tist" requires explicit package name at (eval 25) line 1.
> Global symbol "$tsoll" requires explicit package name at (eval 25) line 1.
> Global symbol "$val" requires explicit package name at (eval 25) line 1.
> Was hat dies zu bedeuten?
>
>  
Das hat zu bedeuten, dass er die Variablen nicht kennt, weil du Sie in den
ersten 3 Zeilen definiert hast, die du aber nicht mit eingegeben hast.

Die Zeilen einzeln in die Befehlszeile einzugeben, funktioniert nicht, weil
sie ohne Context keinen Sinn ergeben.

Bist du sicher, dass du deine Geräte mit "Buero_Wandthermostat" und
"Buero_Heizung" benanntt hast?

Funktioniert das schalten der Heizung außerhalb des Skripts mit set
Buero_Heizung on?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Funktioniert beides, wie es soll. Es werden jeweils die "measured-tempy" bzw. die "desired-temp" ausgegeben.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Mit den Bezeichnungen bin ich sicher und das schalten, wie auch das Auslesen der Temperaturen, außerhalb des Scripts funktionieren.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo zusammen,
 
nach gefühlten unzähligen Versuchen scheint die Heizung jetzt zu
funktionieren.
 
Ich habe folgendes in die "99_Utils.pm"-Datei eingetragen:
 
sub
bueroheizung()
 {
 my $Tist = ReadingsVal("Buero_Wandthermostat","measured-temp","");
 my $Tsoll = ReadingsVal("Buero_Wandthermostat","desired-temp","");
 my $Val = Value("Buero_Heizung");
if ($Tist < $Tsoll) {
   # Schalte "Buero_Heizung" ein
   fhem("set Buero_Heizung on");
 }
else {
   if ($Tist > $Tsoll) {
     fhem("set Buero_Heizung off");
     }
   }
}
 
Dann habe ich noch "define Bueroheizung at +*00:05:00 {bueroheizung}" in
die fhem.cfg eingetragen und jetzt läuft es.
Der Auto-Modus mit den definierten tempList-Attributen funktioniert genauso
gut, wie der Manu-Modus.
 
Der Fehler muss wohl bei meiner "notify"-Definierung gelegen haben.
 
Problem gelöst! Danke nochmals für eure Hilfe.
 

Am Dienstag, 25. September 2012 12:27:22 UTC+2 schrieb team-menge:

> Hallo zusammen,
>  
> ich beschäftige mich seit kurzem mit fhem. Bin auch sehr begeistert über
> die Möglichkeiten. Meine Homematic-Schalter habe ich bis jetzt sehr gut zum
> Laufen bekommen.
>  
> Zur Zeit scheitere ich daran, eine Elektroheizung (also schaltbare
> Steckdosen) temperaturgesteuert mit einem Thermostat Homematic HM-CC-TC zu
> bedienen.
>  
> Ich habe die Geräte Geräte erfolgreich mit fhem gepairt und im Thermostat
> die gewünschten Temperaturen über tempList... angelegt. Jetzt möchte ich
> folgendes erreichen:
>  
> Wenn die gewünschte Temperatur um 0,3 °C unterschritten wird, soll die
> Heizung angeschaltet werden, wenn die gewünschte Temperatur um 0,3 °C
> überschritten wird, soll die Heizung ausgeschaltet werden.
>  
> Dazu habe ich folgendes in die fhem.cfg eingetragen:
>  
> define HeizungBuero notify Buero_Wandthermostat.* {\
> my $tsoll = ReadingsVal("Buero_Wandthermostat","measured-temp","");;\
> my $tist = ReadingsVal("Buero_Wandthermostat","desired-temp","");;\
> my $val  = Value("Buero_Heizung");;\
> if (($tist < ($tsoll - 0.3)) && ($val eq "off")) {fhem("set Buero_Heizung
> on")}\
> if (($tist > ($tsoll + 0.3)) && ($val eq "on")) {fhem("set Buero_Heizung
> off")}\
> }
>  
> Von Perl habe ich leider keine Ahnung. Wo liegt mein Fehler?
>  
> Ich habe folgende Hardware:
> - fhem 5.2 (fhem.pl 1875 2012-09-19) auf Fritz!Box 7270 v3 (über
> USB-Stick)
> - HM Config LAN
> - HM-CC-TC Funk-Wandthermostat
> - HM-LC-SW1-FM Schaltaktor
>  
>  
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Ich beschäftige mich erst seit ca. 2 Wochen mit fhem und dieser Schnipsel
hat mir gleich auf Anhieb mal weitergeholfen. Ich habe den ein bisschen
ausgebaut, damit er etwas universeller nutzbar ist.
Meine Perl Kentnisse sind eher rudimentär. Verbesserungsvorschläge herzlich
willkommen.

######## heizung ####################################################
# What  : Schaltet Heizung an oder aus
# Call  : { heizung($raum,$sensor1,$sensor2,...) }
#

sub heizung($@) {
    my $raum = shift(@_);
    my @sensors = @_;
    my $Tist = ReadingsVal($raum."_thermostat", "measured-temp","");
    my $Tsoll = ReadingsVal($raum."_thermostat", "desired-temp","");
    my $Tschalter = Value($raum."_hz_schalter");
    my $Tsensor = "closed";

    # Überprüfung der Fenstersensoren, wenn Fenster geöffnet oder gekippt
setze $Tsensor entsprechend
    foreach my $sensor (@sensors) {
        my $sensorstate = Value($sensor);
        if ($sensorstate eq "open") {
            $Tsensor = "open";
        }
        elsif ($sensorstate eq "tilted") {
            $Tsensor = "tilted";
        }
    }
   

    Log 1, "Heizungsregelung fuer Raum: $raum, Isttemperatur: $Tist,
Solltemperatur: $Tsoll, Heizungsschalter ist $Tschalter";
    # Wenn Ist-Tempeartur < Soll-Temperatur, alle Fenstersensoren
geschlossen sind und die Heizung aus ist, schalte die Heizung ein
    if (($Tist < $Tsoll) && ($Tsensor eq "closed") && ($Tschalter eq
"off")) {
        {fhem("set ".$raum."_hz_schalter on")};
    }
    # Wenn Ist-Tempeartur > Soll-Temperatur und die Heizung aus ist,
schalte die Heizung ein
    elsif (($Tist > $Tsoll) && ($Tschalter eq "on")) {
        {fhem("set ".$raum."_hz_schalter off")};
    }
}


Gruß
Jörg

Am Montag, 1. Oktober 2012 11:10:22 UTC+2 schrieb team-menge:
>
> Hallo zusammen,
>  
> nach gefühlten unzähligen Versuchen scheint die Heizung jetzt zu
> funktionieren.
>  
> Ich habe folgendes in die "99_Utils.pm"-Datei eingetragen:
>  
> sub
> bueroheizung()
>  {
>  my $Tist = ReadingsVal("Buero_Wandthermostat","measured-temp","");
>  my $Tsoll = ReadingsVal("Buero_Wandthermostat","desired-temp","");
>  my $Val = Value("Buero_Heizung");
> if ($Tist < $Tsoll) {
>    # Schalte "Buero_Heizung" ein
>    fhem("set Buero_Heizung on");
>  }
> else {
>    if ($Tist > $Tsoll) {
>      fhem("set Buero_Heizung off");
>      }
>    }
> }
>  
> Dann habe ich noch "define Bueroheizung at +*00:05:00 {bueroheizung}" in
> die fhem.cfg eingetragen und jetzt läuft es.
> Der Auto-Modus mit den definierten tempList-Attributen funktioniert
> genauso gut, wie der Manu-Modus.
>  
> Der Fehler muss wohl bei meiner "notify"-Definierung gelegen haben.
>  
> Problem gelöst! Danke nochmals für eure Hilfe.
>  
>
> Am Dienstag, 25. September 2012 12:27:22 UTC+2 schrieb team-menge:
>
>> Hallo zusammen,
>>  
>> ich beschäftige mich seit kurzem mit fhem. Bin auch sehr begeistert über
>> die Möglichkeiten. Meine Homematic-Schalter habe ich bis jetzt sehr gut zum
>> Laufen bekommen.
>>  
>> Zur Zeit scheitere ich daran, eine Elektroheizung (also schaltbare
>> Steckdosen) temperaturgesteuert mit einem Thermostat Homematic HM-CC-TC zu
>> bedienen.
>>  
>> Ich habe die Geräte Geräte erfolgreich mit fhem gepairt und im Thermostat
>> die gewünschten Temperaturen über tempList... angelegt. Jetzt möchte ich
>> folgendes erreichen:
>>  
>> Wenn die gewünschte Temperatur um 0,3 °C unterschritten wird, soll die
>> Heizung angeschaltet werden, wenn die gewünschte Temperatur um 0,3 °C
>> überschritten wird, soll die Heizung ausgeschaltet werden.
>>  
>> Dazu habe ich folgendes in die fhem.cfg eingetragen:
>>  
>> define HeizungBuero notify Buero_Wandthermostat.* {\
>> my $tsoll = ReadingsVal("Buero_Wandthermostat","measured-temp","");;\
>> my $tist = ReadingsVal("Buero_Wandthermostat","desired-temp","");;\
>> my $val  = Value("Buero_Heizung");;\
>> if (($tist < ($tsoll - 0.3)) && ($val eq "off")) {fhem("set Buero_Heizung
>> on")}\
>> if (($tist > ($tsoll + 0.3)) && ($val eq "on")) {fhem("set Buero_Heizung
>> off")}\
>> }
>>  
>> Von Perl habe ich leider keine Ahnung. Wo liegt mein Fehler?
>>  
>> Ich habe folgende Hardware:
>> - fhem 5.2 (fhem.pl 1875 2012-09-19) auf Fritz!Box 7270 v3 (über
>> USB-Stick)
>> - HM Config LAN
>> - HM-CC-TC Funk-Wandthermostat
>> - HM-LC-SW1-FM Schaltaktor
>>  
>>  
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Am Dienstag, 25. September 2012 12:27:22 UTC+2 schrieb team-menge:
>
> Hallo zusammen,
>  
> ich beschäftige mich seit kurzem mit fhem. Bin auch sehr begeistert über
> die Möglichkeiten. Meine Homematic-Schalter habe ich bis jetzt sehr gut zum
> Laufen bekommen.
>  
> Zur Zeit scheitere ich daran, eine Elektroheizung (also schaltbare
> Steckdosen) temperaturgesteuert mit einem Thermostat Homematic HM-CC-TC zu
> bedienen.
>  
> Ich habe die Geräte Geräte erfolgreich mit fhem gepairt und im Thermostat
> die gewünschten Temperaturen über tempList... angelegt. Jetzt möchte ich
> folgendes erreichen:
>  
> Wenn die gewünschte Temperatur um 0,3 °C unterschritten wird, soll die
> Heizung angeschaltet werden, wenn die gewünschte Temperatur um 0,3 °C
> überschritten wird, soll die Heizung ausgeschaltet werden.
>  
> Dazu habe ich folgendes in die fhem.cfg eingetragen:
>  
> define HeizungBuero notify Buero_Wandthermostat.* {\
> my $tsoll = ReadingsVal("Buero_Wandthermostat","measured-temp","");;\
> my $tist = ReadingsVal("Buero_Wandthermostat","desired-temp","");;\
> my $val  = Value("Buero_Heizung");;\
> if (($tist < ($tsoll - 0.3)) && ($val eq "off")) {fhem("set Buero_Heizung
> on")}\
> if (($tist > ($tsoll + 0.3)) && ($val eq "on")) {fhem("set Buero_Heizung
> off")}\
> }
>  
> Von Perl habe ich leider keine Ahnung. Wo liegt mein Fehler?
>  
> Ich habe folgende Hardware:
> - fhem 5.2 (fhem.pl 1875 2012-09-19) auf Fritz!Box 7270 v3 (über
> USB-Stick)
> - HM Config LAN
> - HM-CC-TC Funk-Wandthermostat
> - HM-LC-SW1-FM Schaltaktor
>  
>
Hallo  team-menge
ich bin mit meinem Latein am Ende. Ich möchte genau wie in Ihrem Post
beschrieben, mit meine HM-CC-TC einen Actor HM-LC-Sw-1-FM über FHEM
Temperaturgesteuert schalten.
Können Sie mir Ihr finales, funktionierendes Skript zur Verfügung stellen ?
Achtung; Ich arbeite nur im Webfrontend. Kann ich ihr Skript da eingeben ?
 
vielen Dank vorweg
KLAUS

>  
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

So, jetzt funktioniert es.
 
Die Lösung ist das HCS Modul.
Sehr zu Empfehlen.
 
Heizung lässt sich mit wenig Aufwánd vielfältig steuern.
Ein Dank an den Autor für das kostenlose Tool.
 
gruss
 

Am Montag, 17. Dezember 2012 18:43:56 UTC+1 schrieb Rock'nRoll:

>
> Am Dienstag, 25. September 2012 12:27:22 UTC+2 schrieb team-menge:
>>
>> Hallo zusammen,
>>  
>> ich beschäftige mich seit kurzem mit fhem. Bin auch sehr begeistert über
>> die Möglichkeiten. Meine Homematic-Schalter habe ich bis jetzt sehr gut zum
>> Laufen bekommen.
>>  
>> Zur Zeit scheitere ich daran, eine Elektroheizung (also schaltbare
>> Steckdosen) temperaturgesteuert mit einem Thermostat Homematic HM-CC-TC zu
>> bedienen.
>>  
>> Ich habe die Geräte Geräte erfolgreich mit fhem gepairt und im Thermostat
>> die gewünschten Temperaturen über tempList... angelegt. Jetzt möchte ich
>> folgendes erreichen:
>>  
>> Wenn die gewünschte Temperatur um 0,3 °C unterschritten wird, soll die
>> Heizung angeschaltet werden, wenn die gewünschte Temperatur um 0,3 °C
>> überschritten wird, soll die Heizung ausgeschaltet werden.
>>  
>> Dazu habe ich folgendes in die fhem.cfg eingetragen:
>>  
>> define HeizungBuero notify Buero_Wandthermostat.* {\
>> my $tsoll = ReadingsVal("Buero_Wandthermostat","measured-temp","");;\
>> my $tist = ReadingsVal("Buero_Wandthermostat","desired-temp","");;\
>> my $val  = Value("Buero_Heizung");;\
>> if (($tist < ($tsoll - 0.3)) && ($val eq "off")) {fhem("set Buero_Heizung
>> on")}\
>> if (($tist > ($tsoll + 0.3)) && ($val eq "on")) {fhem("set Buero_Heizung
>> off")}\
>> }
>>  
>> Von Perl habe ich leider keine Ahnung. Wo liegt mein Fehler?
>>  
>> Ich habe folgende Hardware:
>> - fhem 5.2 (fhem.pl 1875 2012-09-19) auf Fritz!Box 7270 v3 (über
>> USB-Stick)
>> - HM Config LAN
>> - HM-CC-TC Funk-Wandthermostat
>> - HM-LC-SW1-FM Schaltaktor
>>  
>>
> Hallo  team-menge
> ich bin mit meinem Latein am Ende. Ich möchte genau wie in Ihrem Post
> beschrieben, mit meine HM-CC-TC einen Actor HM-LC-Sw-1-FM über FHEM
> Temperaturgesteuert schalten.
> Können Sie mir Ihr finales, funktionierendes Skript zur Verfügung stellen ?
> Achtung; Ich arbeite nur im Webfrontend. Kann ich ihr Skript da eingeben ?
>  
> vielen Dank vorweg
> KLAUS
>
>>  
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com