MAX! Thermostate mit Lacrosse-Sensor verbinden

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

Vorheriges Thema - Nächstes Thema

jmasterj

Guten Tag und danke für die Aufnahme ins Forum!

Ich bin Anfänger und habe nun mein FHEM laufen und auch schon einen Jeelink dran der mit einem Lacrosse-Temperatursensor im Bereich offener Durchgang zwischen Wohn- und Esszimmer steht!
Dieser Sensor hat die Bezeichnung "Wohnzimmer.Temp" bekommen und liefert wunderbar Daten! (Schreibe in eine SQLITE3-DB mit DBLOG)

Nun habe ich ebenfalls erfolgreich einen CUL868 von Ebay gekauft und eingebunden ist er auch! Damit möchte ich 2 MAX! basic Heizkörperthermostate verbinden welche wohl morgen in der Post liegen. Einer soll im Wohnzimmer, der andere im Esszimmer angeschlossen werden.

Nun muss ich zum einen die Beiden Thermostate "verbinden" damit sie zusammen reagieren weil der Wohn/Essbereich ja offen zueinander ist.
Darum möchte ich auch, dass die IST-Temperatur nicht direkt an den Thermostaten, sondern am Lacrosse-Sensor gezogen wird, denn da ist ja die Mitte des Raumes.

Wenn das alles so eingerichtet ist, dann möchte ich mit Tablet UI (hab ich auch eingerichtet schon) auch die Thermostate steuern können! Also muss da auch dann die Soll-Temperatur vom Thermostat (nur eines in der UI, da beide ja synchron arbeiten sollen) angezeigt werden, aber die IST-Temperatur vom Lacrosse....

Zusätzlich muss ich ja wahrscheinlich noch die Programmierung irgendwo machen oder? Also, dass wenn ich in der Tablet UI - 23 Grad als Zieltemperatur vorgebe, dann sollen die Thermostate die Ventile öffnen, bis die 23 Grad am Sensor erreicht sind und dann wieder schließen!
Aber so würde ja dann sobald die Temperatur nur um 0,1 Grad fällt die Heizung wieder anspringen, also die Thermostate unnötig oft die lauten Ventile stellen!

Vielleicht hat dafür ja auch jemand von Euch eine gut funktionierende Programmierung, die sowohl Einhaltung der eingestellten Temperatur gewährleistet als auch möglichst sparsam bei der Ventilverstellung vorgeht?

Da ich es alleine nicht hin bekomme, wäre eine Schritt für Schritt Anleitung schön wie ich die Thermostate anbinden (und synchronisieren) kann, die IST-Werte vom Sensor und nicht von den Thermostaten nehme, das TabletUI konfigurieren muss und zu guter Letzt wie und mit welchem Code ich das Ganze füttern muss um die eingestellte Temperatur zu halten!

Vielen Dank schon einmal für die hoffentlich zahlreichen Ideen und Hilfestellungen!

Gruß,
Jan

mahowi

Hallo,

ich kenne mich zwar´mit der Einbindung in TUI nicht aus, aber zu der Verbindung von externen Sensoren mit den Thermostaten gibt es eine Beschreibung im Wiki. Da wird auch die ganze Einrichtung der MAX!-Komponenten beschrieben. Nach der Anleitung hab ich damals auch meine Thermostate usw. eingerichtet.
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

#2
Hallo und danke für die schnelle Antwort!

den genannten Link habe ich natürlich auch direkt gefunden, aber ich bin wie gesagt ein blutiger Anfänger und die Anleitung da ist sehr kurz gefasst und ich verstehe den ganzen Code nicht der da geschrieben wurde! Die sprechen da von Dummys und Fake-Thermostaten und habe keine Ahnung was das alles bedeuten soll oder wie ich den Code da abwandeln müsste um ihn bei mir zu benutzen!  :-[

Dazu soll man dann Code in die Datei "99_MyUtils.pm" schreiben aber nirgends steht was das für eine Datei ist oder wo und wie das alles zusammenhängt :-( Die Anleitung ist denke ich eher für fortgeschrittene die wissen was sie da tun

mahowi

Du willst die Temperatur nicht direkt vom Thermostat nehmen, sondern von einem externen Sensor. Das ist vom MAX!-System direkt erstmal nur über das erhältliche Wandthermostat vorgesehen. Damit es doch geht, gibt es in FHEM dafür das sogenannte fakeWallThermostat. Das ist aber auch recht ausführlich im Wiki beschrieben, wie ich finde.

99_MyUtils.pm ist eine Datei im Ordner FHEM (wo alle Module liegen), die Du über "Edit Files" editieren kannst und die für eigene Routinen da ist. Alle Routinen, die da drin stehen, werden von FHEM beim Start automatisch geladen. Wie man die erstellt, steht im Wiki-Artikel "99_myUtils anlegen".

Du solltest Dir vielleicht zum Einstieg in FHEM erstmal die Grundlagen ansehen, vor allem das Einsteiger-PDF unter https://fhem.de/fhem_DE.html#Documentation. Da wird für schon so einiges erklärt. Auf der Wiki-Startseite gibt es auch den Punkt "Wie fange ich an?".
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

Vielen Dank,

das waren schon einmal super Informationen soweit die mich weiter bringen und mich den wiki-Eintrag schon besser nachvollziehen lassen!

Ich denke schon, dass ich das mit dem FakeWallThermostat hin bekommen kann, aber ich kann die Programmierung nicht durchführen! Kann ich das vorgefertigte Script im wiki so nutzen oder wird dann pausenlos das Ventil nachgestellt? Bzw. muss ich den Code für mich anpassen oder ist der allgemeingültig?

Danke + gruß

jmasterj

Aber kannst Du mir bitte mitteilen wie ich beide Thermostate so synchronisieren kann, dass die alle ein einziges device angezeigt und angesprochen werden?

mahowi

Du kannst die Funktion, wie sie im Wiki steht, in 99_myUtils.pm übernehmen.

Angezeigt werden immer beide Thermostate, Du kannst sie aber synchronisieren. Dafür gibt es "associate".
Du musst die Thermostate wechselseitig über associate miteinander verbinden. Damit ändert sich die Temperatur automatisch am jeweils anderen Thermostat, wenn Du an einem was änderst. Zusätzlich musst Du beide Thermostate genauso mit fakeWallThermostat verbinden und für beide das notify aus dem Wiki (z.B. als SendExtTemp1 und SendExtTemp2) erstellen. Damit sollten die beiden Thermostate die Temperatur von Deinem LaCrosse-Sensor übernehmen.

Eventuell musst Du die Zeile 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.
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

#7
OK bin leider nicht weit gekommen. Habe die max! Basic Thermostate angebracht und dann zusätzlich zu meinem nanoCUL den ich CUL868 genannt habe, habe ich das CUL_MAX device wie in der Anleitung defined...

Nun schaffe ich es nicht die Thermostate mit dem CUL_MAX zu pairen...

Ich versetze den CUL_MAX in den pairing Modus mit dem Befehl aus dem Wiki: Set cm pairmode

Dann steht unten im CUL_MAX auch bei pairmode eine 1

Ich drücke dann an den MAX Thermostaten die Booster Taste und dann startet der 30 sec Countdown und läuft einfach ab

Aber danach entdecke ich die Thermostate nicht im fhem...Es passiert gar nichts, nur dass nach der Paarungszeit wieder bei pairmode eine 0 steht.

Keine neuen devices oder Einträge... Was mache ich falsch?
Danke + Gruß

mahowi

Hast Du bei CUL868 auch das Attribut rfmode auf MAX gesetzt?
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

#9
Hallo ja das hatte ich,

ich habe es auch mittlerweile hin bekommen, hatte den CUL0 nicht defined, weil ich dachte es reicht den CUL868 zu definieren der ja auch initialisiert angezeigt wird....
der CUL0 wird zwar als "disconnected" angezeigt aber dennoch hat es danach mit dem pairing geklappt!

Jetzt bin ich gerade dabei zu versuchen die beiden Heizungsthermostate zu synchronisieren und diesen dann die IST-Temperatur vom externen Lacrosse "fakeWallThermometer" mitzuteilen....

jmasterj

Eine Frage noch,

in dem Code den ich in die 99myutils-Datei eintragen muss, muss ich da "$heizung" ersetzen gegen "$ThermostatWohnzimmer" wenn das bei mir so heißt? Associate habe ich bei beiden gemacht, also reicht es ja nur den ThermostatWohnzimmer einzutragen da der ThermostatEsszimmer automatisch übernimmt oder?

Danke + gruß!

jmasterj

Habe jetzt eigentlich beide Thermostate associated und auch jeweils beide mit dem fakeWandThermostat associated.

Wenn ich jetzt in FHEM bei einem Thermostat die desiredTemp ändere, dann stellt sich das andere Thermostat leider nicht automatisch auf die Temperatur des anderen Thermostates um :-(
Was fehlt noch?

mahowi

Mach mal jeweils ein list von Deinen MAX-Devices (Thermostat, CULMAX,).

Wenn ich Dein Setup richtig verstehe, hast Du den physikalischen CUL als CUL868 defined, CULMAX ist cm. Dann ist CUL0 überflüssig, weil dasselbe wie CUL868.

CUL868 muß auf rfmode MAX stehen. Den Code aus dem Wiki für 99_myUtils übernimmst Du, wie er ist. Der Name vom Thermostat wird mit dem notify übergeben. ThermostatWohnzimmer mußt Du mit ThermostatEsszimmer assoziieren und umgekehrt! Beide nochmal mit fakeWallThermostat, damit die Temperatur vom Sensor genommen wird. Und das Notify muß für beide Thermostate laufen, sonst zeigen die einen rferror an.
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

#13
Hallo, danke für die gute Antwort:

Habe mal meine Übersichtsseite angehängt und die SendExtTemp1 und 2 und die 99myutil....

In der Übersichtsseite hab ich das Wichtigste markiert.. wenn ich bei einem der max Thermostate die Temperatur ändere, dann ändert sich die Temperatur und der ComboBox des anderen Thermostates nicht automatisch mit!

Auch hat der Wohnzimmer.Temp mittlerweile 23.8 Grad obwohl ich an den Thermostaten nur 23 Grad eingestellt habe, da stimmt anscheinend auch etwas nicht!

ACHTUNG habe noch eine Datei angefügt, seit kurzem steht im log
2017.02.28 11:27:38 3: SendExtTemp1 return value: Unknown command {, try help.
2017.02.28 11:27:38 3: SendExtTemp2 return value: Unknown command {, try help

Gruß

mahowi

Bei den Notifys fehlt eine geschlossene Klammer "}" am Schluß. CUL0 brauchst Du nicht, den kannst Du löschen. Und bei cm muß CUL868 als IODev stehen.
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