Variablen für set desired-temp verwenden?

Begonnen von bjoernhoefer, 14 Januar 2013, 14:37:24

Vorheriges Thema - Nächstes Thema

bjoernhoefer

Hallo,

ich habe mir mit FHEM einen "Heizungsplan" konstruiert, der recht gut läuft.

Einzige Frage wäre nun noch, ob ich mir in meiner eigenen Konfig-Datei (schedule.cfg) Variablen setzen kann, die dann in Zahlen umgewandelt werden und dich ich dann für das setzen der Wunsch-Temperatur verwenden kann.

z.B.:
temp_abgesenkt = 20
temp_normal = 22.5

set *_thermo desired-temp temp_abgesenkt
set badzeimmer_thermo desired_temp temp_normal

Geht das? Wenn ja, wie kann ich die Variablen richtig sezten? Ich glaube ein dummy-Device is dafür ja nicht geeignet....

Puschel74

Hallo,

so hab ich das gelöst:

define Gewuenschte_Temp_innen_Max dummy
attr Gewuenschte_Temp_innen_Max room 01_Anzeige
attr Gewuenschte_Temp_innen_Max setList 21.0 21.5 22.0 22.5 23.0 23.5

define Gewuenschte_Temp_innen_Min dummy
attr Gewuenschte_Temp_innen_Min room 01_Anzeige
attr Gewuenschte_Temp_innen_Min setList 20.0 20.5 21.0 21.5 22.0 22.5


Und dann ein

my $gew_temp_innen_wz_max = (Value("Gewuenschte_Temp_innen_Max"));
my $gew_temp_innen_wz_min = (Value("Gewuenschte_Temp_innen_Min"));

fhem ("set EG_Wohnzimmer_Heizung desired-temp ".$gew_temp_innen_wz_max);


Ist bei mir zwar noch etwas komplexer aber so kannst du die gewünschte Temperatur auswählen und per set an den FHT übertragen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

bjoernhoefer

anstatt einer liste könnte ich aber auch nur einen wert nehmen, oder?

die zwei Code-Zeilen sind in der gleichen Konfig-Datei?

Puschel74

Ich habe das deswegen mit setList gelöst weil ich verschiedene Werte ausprobieren möchte.

Wenn du die Wert aber "hartcodiert" eingeben möchtest geht das genauso - nur dann ohne dummy oder ...
du kannst auch dem dummy dann direkt 20.5 zuweisen ohne Auswahlmenü.

Die geposteten Dummy (und noch ein paar mehr) sowie die geposteten Zeilen sind Bestandteil einer
"etwas" grösseren .cfg - ja.

Grüsse
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

bjoernhoefer

Sorry, aber ich kapiers nicht...

Perl Code kann ich so nicht ausführen, soweit ich das verstanden habe, dafür brauche ich immer einen "Initiator" (z.b. notify).

Ich habe es ohne alles und jetzt mit set probiert - funktioniert leider gar nix, ausser das ich beim Neustart von fhem im Log die Meldung bekomme "21.0" und 22.5

Konkrete Frage:
- Wie kann ich die definition von my "richtig" machen
- Kann ich die mit my definierten Variablen (z.B: $absenk_temp) in jeder Konfig verwenden oder nur in dieser Konfig - oder gar nur innerhalb der {}?


### ThermoPlan
## Temperaturen setzen
# Absenk Temperatur
define absenk_temperatur dummy
attr absenk_temperatur room schedule
set absenk_temperatur 21.0 { my $absenk_temp = (Value("absenk_temperatur")) }
# Normale Temperatur
define normale_temperatur dummy
attr normale_temperatur room schedule
set normale_temperatur 22.5 { my $normale_temp = (Value("normale_temperatur"));; }
## Wochenplaene
define ThermoPlan_week_start at *01:00:01 {if(!$we) { fhem("set *_thermo desired-temp $absenk_temp") } }
attr ThermoPlan_week_start room schedule
define ThermoPlan_week_morning_start at *00:05:00 {if(!$we) { fhem("set *_thermo desired-temp $normale_temp") } }
attr ThermoPlan_week_morning_start room schedule
define ThermoPlan_week_morning_stop at *07:30:00 {if(!$we) { fhem("set *_thermo desired-temp $absenk_temp") } }
attr ThermoPlan_week_morning_stop room schedule
define ThermoPlan_week_evening_start at *15:30:00 {if(!$we) { fhem("set *_thermo desired-temp $normale_temp") } }
attr ThermoPlan_week_evening_start room schedule
define ThermoPlan_week_evening_wrap at *00:00:01 {if(!$we) { fhem("set *_thermo desired-temp $normale_temp") } }
attr ThermoPlan_week_evening_wrap room schedule
## Wochenendplaene
define ThermoPlan_weekend_start at *02:00:00 {if($we) { fhem("set *_thermo desired-temp $absenk_temp") } }
attr ThermoPlan_weekend_start room schedule
define ThermoPlan_weekend_morning_start at *07:00:00 {if($we) { fhem("set *_thermo desired-temp $normale_temp") } }
attr ThermoPlan_weekend_morning_start room schedule
define ThermoPlan_weekend_wrap at *00:00:01 {if($we) { fhem("set *_thermo desired-temp $normale_temp") } }
attr ThermoPlan_weekend_wrap room schedule
### Extras
## Handtuchheizung im Bad
define ThermoPlan_week_handtuch_start at *05:30:00 {if(!$we) { fhem("set badezimmer_thermo desired-temp 24") } }
attr ThermoPlan_week_handtuch_start room schedule
define ThermoPlan_week_handtuch_stop at *06:40:00 {if(!$we) { fhem("set *_thermo desired-temp $normale_temp") } }
attr ThermoPlan_week_handtuch_stop room schedule

Puschel74

Ich habs soweit noch nicht probiert aber ich vermute das ein


my $temp_abgesenkt = "20.0";
my $temp_normal = "22.5";


das ist was du suchst?

Diese Variablen sind lokale Variablen, also nur innerhalb dieses notify verwendbar.
Möchtest du diese über dieses notify hinaus retten musst du sie global definieren - gibt es einen Beitrag dazu.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

bjoernhoefer

Auf die Gefahr hin, jetzt böse beschimpft zu werden bzw. als suchfaul tituliert zu werden - aber ich find einfach nix wie ich global variablen definiere, oder bzw. wie ich die mit werten setzen kann.

Tut mir echt leid, hier nervig zu sein... :-(

LaLeLu

Puschel74 hat Dir doch am Mo, 14 Januar 2013 14:44 die Lösung mit Dummies geschrieben!?????
LaLeLu

Fhem Release: 5.6 auf RaspberryPI B (wheezy)
1xFB7390, 1xCUL, 1xHM-CFG-LAN, 4xFHT, 25xFS20 (inkl. PIRA), 18xCUL_HM, 5xCUL_WS, 2xSONOS-Player, calendar, floorplan