MAX! Thermostate mit Lacrosse-Sensor verbinden

Begonnen von jmasterj, 24 Februar 2017, 12:58:34

Vorheriges Thema - Nächstes Thema

jmasterj

Ok danke,

habe es mit geschlossener Klammer probiert und dann sagt er mir "Unknown command }" .....habe es jetzt mal probiert den ";" hinter die "}" zu setzten und nun scheint es zu gehen... jetzt steht hinter den SendExtTemp jeweils "active", was vorher nicht stand.


Kusselin

#16
Hi jmasterj,

mahowi meint das hier:
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
   my ($hash) = @_;
}

HIER MUSS DAS NOTIFY REIN.............

1;


und mit "list" meinen Sie hier das du ein List deines Devices machsen sollst und keine Bilder. Du muss oben in der Kommandozeile von fhem folgendes eingeben:
list >name deines Devices<

dann kommt die Auflistung deines Gerätes...das kannst du super kopieren und dann mit dem "#" oben im Editorbereich einfügen..weißt was ich meine?

Gruss

mahowi

define SendExtTemp notify WS300:temperature.* {
MaxFakeWallThermostat("Heizung", $EVTPART1);
}


So steht es im Wiki. D.h., das Semikolon kommt hinter die geschlossene runde Klammer. Bei mir sieht das funktionierende Notify z.B. so aus:
LaCrosse_1A:temperature.* {
MaxFakeWallThermostat("bz.MAX_HT", $EVTPART1);
}
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

jmasterj

#18
Das verstehe ich nicht ganz, also jetzt soll der Code direkt in die 99utils?

Aber im Wiki steht der Code mit "define" und da steht nicht das der in die 99utils soll...

weil wenn ich das in die Datei schreibe:
Wohnzimmer.Temp:temperature.* {
MaxFakeWallThermostat("ThermostatWohnzimmer", $EVTPART1);
}


dann kann ich dem ja nicht den Namen "SendExtTemp1" geben und dem notify für das ThermostagEsszimmer den Namen "SendExtTemp2" oder?

Ich verstehe das nicht so ganz, weil aus dem Wiki für mich gar nicht hervor geht dass die notifys in die 99utils sollen...


Weil aktuell scheint es zu funktionieren alles so wie es jetzt ist! im Log kam zwar ab und zu der Fehler:

"SendExtTemp2 return value: Unknown command \, try help."

aber nachdem ich das ohne \ am ende neu definiert hatte geht es jetzt alles!

Nur die Thermostate sind noch nicht synchron, also übernehmen nicht die desiredTemperature des anderen wenn eine geändert wurde

mahowi

Nein, in die 99_myUtils muß nur der Code mit MaxFakeWallThermostat. Vielleicht bekommst Du keine Fehlermeldungen mehr angezeigt, aber ob die Notifys was tun, solltest Du im Log sehen. Da muß ein Eintrag "Set cm fakeWT..." auftauchen. Außerdem sollte der rferror bei den Thermostaten verschwinden.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

jmasterj

JAAAAA Die notifys funktionieren jetzt !!!! Danke!

Ich habe aber nochmal eine Frage zu dem was Du hier geschrieben hast:

Eventuell musst Du die Zeile
Code: [Auswählen]
my $CULMAX     = $defs{$heizung}{LASTInputDev};
ändern und $defs{$heizung}{LASTInputDev} durch die Bezeichnung Deines CULMAX ersetzen. Zumindest bei mir existiert nämlich LASTInputDev nicht immer.

Verstehe ich nicht ganz, was genau macht die Zeile Code und wie genau muss sie bei mir aussehen wenn mein CUL_MAX den Namen "cm" hat?


Danke + Gruß

mahowi

Wenn Du Fehlermeldungen bekommst, daß LASTInputDev nicht existiert, dann mußt Du $defs{$heizung}{LASTInputDev} durch cm ersetzen, also

my $CULMAX     = cm;

Ich weiß nicht, woran es liegt, aber zumindest bei mir existiert LASTInputDev nicht immer bei den Thermostaten. Dann bleibt die Variable $CULMAX leer und es gibt eine Fehlermeldung.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

jmasterj

Also bei mir scheint es zu gehen mit LastDeviceInput.... also werde ich es so lassen!

Jetzt hab ich noch eine Frage, aktuell ist es so dass wenn ich z.B: 23 Grad einstelle, dass die Heizungen so auf 23,2 Grad heizen und dann die Ventile wieder auf Null stellen. Da die Wärme sich langsam verteilt wird es am Temperatursensor dann so 23,4 Grad bis es wieder runter geht und wenn am Sensor so 22,8 Grad anliegen springt die Heizung wieder mit Vollast an....

Dadurch habe ich so eine Art Wellenbewegung im Temperaturverlauf (Siehe Screenshot im Anhang).
Gibt es irgendwo ein Script was nicht wenn man eine Temp angibt bis dahin heizt und dann wieder ausgeht, sondern eines was z.B. lautet:

"Wenn 23 Grad desired-temperatur eingestellt wird, dann stelle die Ventile dauerhaft auf "50%" (oder die Stellung die halt nötig ist um 23 Grad zu erreichen und zu halten)"
"Wenn 22 Grad dann Ventile auf 35% usw...."?

mahowi

Schön, daß es jetzt funktioniert.  :)

Du kannst bei den MAX!-Thermostaten nicht die Ventilstellung vorgeben, es gibt also leider kein "set valveposition".

Über Umwege läßt sich das über "maxValveSetting" einstellen, so ähnlich wie im Wiki-Artikel zur Fußbodenheizung mit MAX!-Thermostat.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee