Hauptmenü

Eco Taster

Begonnen von The-Holgi, 04 Dezember 2013, 09:29:58

Vorheriges Thema - Nächstes Thema

The-Holgi

Hallo,
versuche gerade den Eco Taster zu integrieren. Finde nirgens eine Anleitung wie das unter Fhem mit Cul funktioniert.
Angelernt ist er und die Schaltzustände werden auch übertragen. Wie bringe ich den Thermostaten bei nach betätigen des Tasters in den ECO Modus zu wechseln ?
Ich benutze zur Zeit das interne Wochenprogramm der Thermostate.
Bin für jeden Tipp dankbar.

Edit:
Habe mich jetzt soweit durchgewühlt und gelesen das man es über ein notify lösen kann. Vielleicht kann mir da jemand unter die Arme greifen ?

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John

Hallo Holgi,

ein notify ist schon mal ein guter Ansatz.

Versuch mal folgendes einzubinden:

define <DeinEcoTaster>.event notify <DeinEcoTaster>:(onoff).* { Log(3,"eco taster wurde betätigt");;}

für <DeinEcoTaster> setzt du den Namen deines EcoTasters ein.
In der Log-Datei sollten nach Betätigung "eco taster wurde betätigt" ausgegeben werden.

Wenn das klappt gehts mit dem nächsten Kapitel weiter.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

The-Holgi

Hallo John,
Danke für die hilfe.
Das klappt schonmal, nur verstehe ich nicht wie es weiter geht. So ist es ja auch egal ob ich auf Auto oder Eco drücke, die Ausgabe ist immer
eco taster wurde betätigt.
Wäre nett wenn du mir beim nächsten Kapitel noch helfen könntest.

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

ph1959de

Vielleicht erklärst Du auch mal kurz, was für Dich "den Eco Taster integrieren" bedeutet bzw. auch, was "der Eco Taster" überhaupt ist oder sein und machen soll? Oder ist das etwas selbsterklärendes, das nur ich nicht verstehe?

Gruß, Peter

       
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

The-Holgi

Hallo Peter,
der Eco Taster dient dazu, beim verlassen des Hauses die Heizung durch betätigen des Schalters in den Eco Modus zu versetzen. Ich werde ihn in der nähe der Eingangstür anbringen.
So sieht das Teil aus: http://www.conrad.de/ce/de/product/560915/?insert_kz=VQ&hk=SEM&WT.srch=1&WT.mc_id=google_pla&gclid=CKqk0aG_mLsCFWzHtAody3oAAg

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John

#5
Hallo Holgi,

vorab  noch eine Frage:

Möchtest du FHEM verstehen oder nur einfach eine schnelle Lösung für dein Problem ?

noch etwas zum Probieren (aber immer noch keine endgültige Lösung)
define <DeinEcoTaster>.event notify <DeinEcoTaster>:(onoff).* { Log(3,"event gefeuert von %NAME mit den Parametern: %EVTPART0 ,%EVTPART1" );;}

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

The-Holgi

Hallo John,
Ich möchte es schon verstehen. Ansonsten wäre ich mit einem fertigem System besser gefahren. Ist halt am Anfang nicht so leicht und freue mich über Hilfe und Tipps von den "alten Hasen".

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

The-Holgi

Hallo,
das klappt auch jetzt wird auch angezeigt welche Taste man drückt:
event gefeuert von Eco_Taster mit den Parametern: onoff: ,0
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John

Gut.
Somit ist klar, das der Teil in den geschweiften Klammern ein Perl-Skript ist, dem man Parameter aus dem Event übergeben kann.
Das brauchen wir ja auch, damit wir wissen, ob ECO ein- oder auszuschalten ist.

Nun solltest du nach einem Befehl für das Thermostat suchen, der

  • das Thermostat in den ECO-Mode versetzt
  • das Thermostat in den Normal-Mode versetzt

Am Ende muss etwas in der Art rauskommen:
Zitat
Wenn ECO-Taster=ECO dann setze Thermostat in ECO-Mode
Wenn ECO-Taster=Auto dann setze Thermostat in Auto-Mode

Dur wirst im CommandRef bei den Max-Thermostaten fündig.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

The-Holgi

#9
Hm,
also muß man das irgendwie mit if zusammen basteln ?
Der Befehl zum schalten lautet dann ja:
set kue_Thermostat,Bad_Thermostat,wz_Thermostat desiredTemperature eco bzw.
set kue_Thermostat,Bad_Thermostat,wz_Thermostat desiredTemperature auto
Habe im Moment nur die 3 Thermostate
Aber wie geht es weiter ? Kann man alles aus dem notify Eco_Taster.event heraus schalten ?
Vielleicht so ?
{fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat eco") if (ReadingsVal("Eco_Taster","onoff","") = 1)}

Edit: Das geht schonmal nicht habe jetzt notify Eco_Taster.event editiert, im log steht dann:
Eco_Taster.event return value: Can't modify non-lvalue subroutine call in scalar assignment at (eval 484) line 1, near "1)"
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John


Schon ganz gut, vielleicht besser so:

{fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat eco") if (ReadingsVal("Eco_Taster","onoff","") eq "1");;}

oder alternativ nach diesem Konzept
{if ("%EVTPART1" eq "0") {Log(3,"%NAME ist 0");;} else {Log(3,"%NAME ist 1");;}}

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

The-Holgi

Wenn ich das richtig verstehe kann man in der 2. Variante gleich beide Zustände einbauen, habe das mal so versucht:
Eco_Taster:(onoff).* fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat eco") if ("%EVTPART1" eq "0") {Log(3,"%NAME ist 0");;} else {Log(3,"%NAME ist 1");
Die komplette Zeile in Eco_Taster.event sieht so aus:
Eco_Taster:(onoff).* fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat eco") if ("%EVTPART1" eq "0") {Log(3,"%NAME ist 0");;} else {Log(3,"%NAME ist 1");
Im log bekomme ich dann die Ausgabe:
Eco_Taster.event return value: Unknown command fhem("set, try help.

Erstmal Danke für deine Geduld mit mir.
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John

Fast getroffen:


Eco_Taster:(onoff).* { if ("%EVTPART1" eq "0") {fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat eco");;} else {fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat auto");;}}

Bitte erst mal keine Zeilenumbrüche zulassen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

The-Holgi

Hm jetzt taucht im log das auf:
2013.12.05 12:33:55 3: Eco_Taster.event return value: Unknown argument eco, choose one of wakeUp factoryReset groupid associate:kue_Thermostat,Fenster_Bad,post_FKT_1,Tuer_Hinten,Fenster_Kue,wz_Thermostat,fakeWallThermostat,fakeShutterContact deassociate:kue_Thermostat,Fenster_Bad,post_FKT_1,Tuer_Hinten,Fenster_Kue,wz_Thermostat,fakeWallThermostat,fakeShutterContact desiredTemperature:eco,comfort,boost,auto,off,5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0,10.5,11.0,11.5,12.0,12.5,13.0,13.5,14.0,14.5,15.0,15.5,16.0,16.5,17.0,17.5,18.0,18.5,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5....

Verstehe nicht warum.
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John

verwendet antelle von eco ein zahl, die der eco-temperatur entspricht.
John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

The-Holgi

Mit der Zahl hatte ich auch schon getestet dann viel mir das mit desiredTemperature ein
Eco_Taster:(onoff).* { if ("%EVTPART1" eq "0") {fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat desiredTemperature eco");;} else {fhem("set Bad_Thermostat,kue_Thermostat,wz_Thermostat desiredTemperature auto");;}}

So geht es ohne Fehler konnte die Heizung einmal in den eco Modus setzten aber nicht wieder zurück in Auto. Nach 3 mal drücken kam die Fehlermeldung:
CUL_MAX_SendQueueHandler: Not enough credit! credit10ms is 9, but we need 110. Waiting 101 seconds.
Ist das normal das die credit´s so schnell verbraucht sind ?
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John

ZitatIst das normal das die credit´s so schnell verbraucht sind ?

Das war zu erwarten. Der CUL darf ja nur max. 1% der Stunde nutzen.

Wenn du einen CUL hast siehst du den Verbrauch an den Credits (900=max). Pro Übertragung werden ca. 140 Credits verbraten.

MaxLan rechnet mit den dutycycles umgekehrt von 0..100. Also 0 heisst du kannst noch ne Menge schicken.

Die gute Nachricht ist, dass Matthias eine Queue eingebaut hat, d.h. FHEM merkt sich die ausstehenden Befehle und arbeitet diese nach und nach ab.


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

hobu

Zitat von: John am 05 Dezember 2013, 13:00:55
verwendet antelle von eco ein zahl, die der eco-temperatur entspricht.
John
Die Gradangabe (Zahl) ist nicht notwendig

Im o.a. Beispiel fehlte nur ein Keyword:
"set BR_HT desiredTemperature eco"
funktioniert.
Raspberry Pi (Model B)
HM-CFG-USB, HM-CC-RT-DN, HM-LC-SW1-FM, HM-Dis-WM55, HM-FK-SCO

The-Holgi

Hallo, ja genau wie ich schon geschrieben habe fehlte das keywort  desiredTemperature.
Jetzt heißt es erstmal warten um weiter zu testen. Mir ist aufgefallen das die Thermostate vom Auto in den Manu Modus gewechselt haben nachdem ich den taster gedrückt habe. Ist das normal ?

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

John

Hallo Holgi,
also wenn Mode Auto aktiv bliebe würde das Wochenprofil beim nächsten Schaltpunkt den Sollwert neu setzten.

Wenn du das willst kannst du folgendes tun:
Zitatset <thermostat> desiredTemperatur auto eco

eco ist aus Sicht des Thermostats nur ein Synonym für die ecoTemperature.

Wenn du jedoch explizit mit dem Taster die Automatik aktivieren willst, musst du vorher den Mode auf Manu nehmen.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

The-Holgi

Hm, wenn ich jetzt die Taste Auto am Eco Taster drücke sollte das Thermostat doch in den Automodus wechseln oder ?
Möchte ja wenn ich wieder Zuhause bin das, das Wochenprogramm weiter läuft.
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

The-Holgi

#21
Hm,
es funktioniert leider doch nicht. Hier nochmal der code:
Eco_Taster:(onoff).* { if ("%EVTPART1" eq "0") {fhem("set wz_Thermostat desiredTemperature eco");;} else {fhem("set wz_Thermostat desiredTemperature auto");;}}
Es wird nichts im log angezeigt und die Temperatur wird auch nicht verstellt. Woran könnte das liegen ?
Wenn ich im webinterface direkt set wz_Thermostat desiredTemperature auto wird problemlos geschaltet.

Edit: Bin ich blöd Eco ist 1 und nicht 0. Jetzt geht es.
Besten Dank nochmal

Hier nochmal die komplette Zeile, vielleicht kann das ja jemand gebrauchen
Eco_Taster:(onoff).* { if ("%EVTPART1" eq "1") {fhem("set .*Thermostat desiredTemperature eco");;} else {fhem("set .*Thermostat desiredTemperature auto");;}}
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

The-Holgi

#22
Hm, zu früh gefreut.
Der Taster funktioniert problemlos aber im log gibt es immer eine Fehlermeldung:
set .*Thermostat desiredTemperature eco : Unknown argument desiredTemperature, choose one of absorb:FileLog......usw.

Woran könnte das liegen ?

Edit: Es lag wohl an der Aufzählung mit .*Thermostat habe jetzt die Thermostate einzeln eingegeben und der Fehler ist weg.
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

QuesT

Hallo,

ist es auch möglich statt auf eco auf boost bei definierten HK zu gehen?
Danke

The-Holgi

Hallo,
warum sollte das nicht gehen ?
Einfach statt  desiredTemperature eco  desiredTemperature boost setzen.

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

rjoachim

Hallo zusammen,

wäre es nicht sinnvoll über die Events des Eco-Tasters jeweils ein neues Wochenprofil auf dem Thermostat zu setzen.

Eco-Taster:on - Wochenprofil immer 17°C
Eco-Taster:off - Wochenprofil wie gewünscht wenn anwesend

Damit sollte die Temperatur wie bei der Eco-Funktion des Thermostats dauerhaft bestehen bleiben während der Scanner weiterhin die Temperatur protokolliert. Selbes Verfahren (geändertes Wochenprofil) könnte auch für ein oder mehrere Fensterkontakte verwendet werden. Nachteilig ist allerdings die größere Menge an Daten die übertragen werden müssen.

Habe die Idee bisher noch nicht getestet. Mich würde vorher eure Meinung interessieren ob das funktionieren könnte.

Gruß
Ralf

CrisB

#26
Hallo zusammen,

bei mir klappt es nicht wie oben in die Beschreibung. :-\

Hab folgendes ausprobiert:
define ECO_Taster MAX PushButton 123456
attr ECO_Taster IODev CULMAX0
define ECO_Taster.event notify ECO_Taster:(onoff).* { if ("$EVTPART1" eq "0") {fhem("set MAX_068ac4,MAX_068ac5,MAX_068ac7 desiredTemperature eco");; } else { fhem("set MAX_068ac4,MAX_068ac5,MAX_068ac7 desiredTemperature auto");;}}



Edit: So klappt's, der Fehler war am "%EVTPART1" statt "$EVTPART1"! Der Codebereich oben ist korrigiert und funktioniert!

Gruß,
Cris