FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Charity am 03 Oktober 2013, 13:35:18

Titel: Heizungs Slider
Beitrag von: Charity am 03 Oktober 2013, 13:35:18
Hallo,

nachdem ich nun mehrere FHT80b in Verwendung habe, wollte ich auf einer Informationsseite für alle FHT80b einen Slider zur Verfügung stellen mit dem ich die desired-temp einstellen kann. Per Slider möchte ich die Temperatur zwischen 10 - 30°C regeln können.

Das zu steuerende Device ist bereits definiert und heisst SZ_Heizung.


## Heizung
define SZ_Heizung FHT XXXX
attr SZ_Heizung alias Schlafzimmer Heizung
attr SZ_Heizung fm_type temperature,desiredtemp,tempbutton,window,actuators
attr SZ_Heizung icon hc_wht_regler
attr SZ_Heizung model fht80b
attr SZ_Heizung retrycount 3
attr SZ_Heizung room 03 Schlafzimmer


Folgendes habe ich bereits :


#### Dummy Slider für Heizungen
define dy_SZ_Heizung_Slider dummy
attr dy_SZ_Heizung_Slider alias Heizung Schlafzimmer Temp
attr dy_SZ_Heizung_Slider webCmd dim
attr dy_SZ_Heizung_Slider setList dim:slider,10,0.5,30
attr dy_SZ_Heizung_Slider group Heizungsregelung
attr dy_SZ_Heizung_Slider sortby 01
attr dy_SZ_Heizung_Slider room 00 Information


Das Problem mit diesem Slider ist, dass der Anfangswert bei 0 ist und somit der Regeler ausserhalb der Spezifikation für den Slider.

Wie bekomme ich es hin, dass
1. ich die aktuelle desired-temp von SZ_Heizung auslesen kann und die als Startwert für den Slider Dummy dy_SZ_Heizung_Slider vorgebe.
2. ich den DIM Wert des Sliders dann als desired-temp setzen kann (kann ich das über ein notify machen und wenn ja wie)
?

Danke für eure Unterstützung
Titel: Aw: Heizungs Slider
Beitrag von: jody am 03 Oktober 2013, 14:26:03
Hey Charity,

zu 1:
define SetzSliderNotify notify SZ_Heizung:* {\
my $timerwert = ReadingsVal("SZ_Heizung","ReadingName","on");;\
fhem ("set dy_SZ_Heizung_Slider $timerwert");;\
}


zu 2:
define SetzDesiredTemp notify dy_SZ_Heizung_Slider:* {\
my $sliderwert = ReadingsVal("dy_SZ_Heizung_Slider","state","on");;\
fhem ("set SZ_Heizung $sliderwert");;\
}


Hier würde ich nicht "dim" sondern "state" verwenden

attr dy_SZ_Heizung_Slider webCmd state
attr dy_SZ_Heizung_Slider setList state:slider,10,0.5,30


Alles ungetestet.

Alle Angaben ohne Gewähr.

Gruß jody

Titel: Aw: Heizungs Slider
Beitrag von: Charity am 03 Oktober 2013, 16:27:28
Super, danke.

Das werd ich heute abend gleich ausprobieren.
Titel: Aw: Heizungs Slider
Beitrag von: Charity am 03 Oktober 2013, 19:48:50
Hi Danke nochmal, das hat super funktioniert.
Titel: Aw: Heizungs Slider
Beitrag von: Charity am 03 Oktober 2013, 23:39:05
Ok, die Darstellung hat zwar funktioniert und auch das setzen der Temperatur.

Doch die notifies gehen etwas durch :-(

Ich weiss nicht warum, aber die Slider dürften ständig senden und damit wird innerhalb einer Sekunde mehrfach die Temperatur der Heizung ausgelesen, in den Slider geschrieben und damit dann auch wieder die Temperatur an die Heizung geschickt. Wodurch ich über die 1% drüber bin und die Heizung keine Einstellung mehr annimmt.

Wie kann ich diesen Wildwuchs auf tatsächliche Änderungen und nicht permanent Änderungen umstellen ?
Titel: Aw: Heizungs Slider
Beitrag von: justme1968 am 03 Oktober 2013, 23:53:05
vermutlich in dem du in 1. den slider nur dann aktualisierst wenn der neue wert ungleich dem aktuellen slider wert ist. also etwa so:define SetzSliderNotify notify SZ_Heizung:* {\
my $timerwert = ReadingsVal("SZ_Heizung","ReadingName","on");;\
fhem ("set dy_SZ_Heizung_Slider $timerwert") if( $timerwert != Value("dy_SZ_Heizung_Slider");;\
}

gruss
  andre
Titel: Aw: Heizungs Slider
Beitrag von: Zrrronggg! am 04 Oktober 2013, 02:17:59
Zustätzlich das attribute "lazy" für die FHTs benutzen.
Titel: Antw:Heizungs Slider
Beitrag von: linuxq am 25 April 2014, 12:25:00
Hallo,

ich will den Slider verwenden, um den Sollwert meiner tado.com Regelung zu setzen. Nun habe ich folgende Probleme:

1. Ich bekomme nur Ganzzahlwerte als $sliderwert. Wie kann ich zumindest 0.5 Grad-Schritte bekommen.

2. Bei Änderung kann den Sollwert ab tado.com senden, indem ich eine URL aufrufe:
"https://my.tado.com/mobile/1.3/updateThermostatSettings?&username=meinusername&password=meinpasswordhash&homeTemp=21.0"
Wie kann ich das umsetzen?

#### Dummy Slider für Heizungen
define dy_SZ_Heizung_Slider dummy
attr dy_SZ_Heizung_Slider alias Heizung Solltemperatur
attr dy_SZ_Heizung_Slider webCmd state
attr dy_SZ_Heizung_Slider setList state:slider,15,0.5,23
attr dy_SZ_Heizung_Slider group Heizungsregelung
attr dy_SZ_Heizung_Slider sortby 01
attr dy_SZ_Heizung_Slider room Heizung

define SetzSliderNotify notify tado_temp:* {\
my $timerwert = ReadingsVal("tado_temp","setPointTemp","on");;\
fhem ("set dy_SZ_Heizung_Slider $timerwert");;\
}

define SetzDesiredTemp notify dy_SZ_Heizung_Slider:* {\
my $sliderwert = ReadingsVal("dy_SZ_Heizung_Slider","state","on");;\
{ system("/usr/sbin/pebblesend2 -n Tado_geaendert -m $sliderwert") } ;;\
}


So sehen meine Setting aus momentan. Und den (leider ganzzahligen) Wert des Sliders, bekomme ich brav auf meiner Pebble angezeigt (als Test, ob es geht)

Gruß und Danke

LinuxQ
Titel: Antw:Heizungs Slider und Homematic Heizungssteuerung
Beitrag von: Matfhem am 28 November 2014, 13:06:25
Für alle die Homematic Heizungssteuerungselemente verwenden passt diese Anleitung nicht ganz. Da ich an keiner Stelle eine funktionierende gefunden habe und vielleicht es andere auch interessieren könnte:

1.   Schritt – Einen Dummy-Slider anlegen:

define Heizung_Bad_Slider dummy

2.   Schritt: den Dummy konfigurieren:

attr Heizung_Bad_Slider webCmd state
attr Heizung_Bad_Slider setList state:slider,5.0,0.5,30.0

3. Schritt – erstes Notify anlegen:

Ich steuere das Thermostat und dort den Kanal ,,Climate" (tem_feuchte_Bad_Climate) an und nicht die Heizung selbst (geht natürlich auch). Wichtig sind die Absätze (später im DEF des Notifys nach dem Muster unten ändern) und das für Homematic wichtige "desired-temp" nicht vergessen:

define Heizung_Bad_SliderNotify notify Heizung_Bad_Slider:* {
my $sliderwert =
ReadingsVal("Heizung_Bad_Slider","state","on");
fhem ("set temp_feuchte_Bad_Climate desired-temp $sliderwert");
}


4. Schritt – zweites Notify anlegen:

define Heizung_Bad_Slider2Notify notify Heizung_Bad_Slider:* {
my $timerwert =
ReadingsVal("Heizung_Bad_Slider","ReadingName","on");
fhem ("set temp_feuchte_Bad_Climate desired-temp $timerwert") if( $timerwert != Value("Heizung_Bad_Slider");
}

Problem: Der Slider kann nicht auf 0,5er Werte gestellt werden. Nur ganze Werte werden eingeblendet und auch an das Thermostat/die Heizung gesendet.
Titel: Antw:Heizungs Slider
Beitrag von: thi69 am 06 April 2015, 21:33:34
Ich hatte das gleiche Problem.

Hier die Lösung für die Nachkommastelle : state:slider,5.0,0.5,30.0,1
Titel: Antw:Heizungs Slider
Beitrag von: Leinad am 07 April 2015, 23:44:44
Super, danke für die Info!

Noch eine "Anfängerfrage"... ähm... wofür ist jetzt nochmal das zweite Notify? Beide reagieren doch auf das gleiche Ereignis, den "Slider"?

Müsste nicht einer auf temp_feuchte_Bad_Climate reagieren?
Titel: Antw:Heizungs Slider
Beitrag von: tomspatz am 20 Dezember 2015, 17:43:43
Ich würde gerne hier meinen Senf dazu packen.
Der Slider an sich ist ja OK, diesen habe ich bei meinen Z-Wave Ventilen in Funktion.
Doch bekomme ich nicht hin das der Slider den aktuellen Wert anzeigt :(.

Nochmal, Slider Funktion OK, die eingestellte Temperatur (z.B.25) wird so übertragen und das Ventil Regelt nach.
Zeitgesteuert wird die Heizung aber dann heruntergefahren auf 17, der Slider zeigt aber immer noch 25 an.

define Heizung.Buero.Slider dummy
attr Heizung.Buero.Slider setList state:slider,4.0,0.5,28.0
attr Heizung.Buero.Slider webCmd state


define Heizung.Buero.Slider.Notify notify Heizung.Buero.Slider:* {\
my $sliderwert = \
ReadingsVal("Heizung.Buero.Slider","state","on");; \
fhem ("set Heizung.Buero setpointHeating $sliderwert");;\
}

Titel: Antw:Heizungs Slider
Beitrag von: sloth am 17 Februar 2016, 19:50:27
Diese Slider waren bei mir über ein Jahr im Einsatz. Dann habe ich mein fhem vom raspberry (immer häufigere korrupte sd-Karte) auf meinen qnap umgezogen. In dem Zusammenhang habe ich die neueste Version installiert. Ich muss gestehen, dass ich zuvor sehr faul war, was die updates anging. Beim Versuch meine alte fhem.cfg zu übertragen hatte ich einige Probleme mit fehlenden perl-Modulen, welche ich beheben konnte. Eins der letzten Probleme ist folgendes:

Dieser Teil in der fhem.cfg:
define Slider_wz_HeizungFensterfront_Clima dummy
attr Slider_wz_HeizungFensterfront_Clima alias Heizung Wohnzimmer Fensterfront
attr Slider_wz_HeizungFensterfront_Clima fp_Erdgeschoss 64,1175,7,Heizungsregelung
attr Slider_wz_HeizungFensterfront_Clima group Heizungsregelung
attr Slider_wz_HeizungFensterfront_Clima room Wohnzimmer
attr Slider_wz_HeizungFensterfront_Clima setList state:slider,15.0,0.5,25.0
attr Slider_wz_HeizungFensterfront_Clima sortby 01
attr Slider_wz_HeizungFensterfront_Clima webCmd state



Produziert beim Speichern:
Slider_wz_HeizungFensterfront_Clima: unknown attribute sortby. Type 'attr Slider_wz_HeizungFensterfront_Clima ?' for a detailed list. Slider_wz_HeizungFensterfront_Clima: unknown attribute webCmd. Type 'attr Slider_wz_HeizungFensterfront_Clima ?' for a detailed list.

Hat sich da mit den letzten Versionen an dem webCmd-Attribut für dummy's was geändert?
Titel: Antw:Heizungs Slider
Beitrag von: sloth am 29 Februar 2016, 19:29:16
Sry, ich muss den pushen, komme da alleine nicht weiter. Gibt es irgendwelche Infos von mir, die noch helfen könnten?
Titel: Antw:Heizungs Slider
Beitrag von: Leinad am 29 Februar 2016, 20:54:40
Hmm... was machst du in dieser Zeile?

attr Slider_wz_HeizungFensterfront_Clima fp_Erdgeschoss 64,1175,7,Heizungsregelung
Titel: Antw:Heizungs Slider
Beitrag von: sloth am 28 März 2016, 21:09:39
Zitat von: Leinad am 29 Februar 2016, 20:54:40
Hmm... was machst du in dieser Zeile?

attr Slider_wz_HeizungFensterfront_Clima fp_Erdgeschoss 64,1175,7,Heizungsregelung
Das war für den Floorplan.

Ich habe es soeben rausgefunden: das global userattr hatte sich mysteriöserweise geleert. Nachdem ich die Werte aus der ursprünglichen fhem.cfg wieder eingetragen hatte lief das ganze wieder.
Titel: Antw:Heizungs Slider
Beitrag von: sz_wolfi am 24 November 2018, 12:45:04
Zitat von: tomspatz am 20 Dezember 2015, 17:43:43
Nochmal, Slider Funktion OK, die eingestellte Temperatur (z.B.25) wird so übertragen und das Ventil Regelt nach.
Zeitgesteuert wird die Heizung aber dann heruntergefahren auf 17, der Slider zeigt aber immer noch 25 an.

stand vorm gleichen Problem - hier meine Loesung:
Mein Spirit-Thermostat - meldet sich, wenn man ihn manuell (oder per Funk) verstellt.
Um jetzt den Slider mit dem gemeldeten Wert upzudaten - einfach noch einen Notify, der den Slider updatet, wenn der Thermostat sich mit 'ner Aenderung meldet:

In meinem LOG vom Thermostat sieht's so aus:

1. Fall - Temperatur via Slider auf z.B. 20.0 Grad gesetzt:

2018-11-24_12:39:38 THERMOSTAT1_OFFICE thermostatSetpointSet 20.0


2.) Fall - via +-Button am Thermostat auf 21.0 gesetzt:

2018-11-24_12:41:55 THERMOSTAT1_OFFICE setpointTemp: 21.0 C heating


...und auf diesen Event - setzt man einen notify - der dann den Slider updated:


define thermostat1_office_setpoint_change notify THERMOSTAT1_OFFICE:setpointTemp:.* set Heizung.Buero.Slider $EVTPART1


...und somit ist der Slider 'in sync' :-)