Pairing erneuern für Stellantrieb

Begonnen von mfeske, 26 Dezember 2014, 00:52:13

Vorheriges Thema - Nächstes Thema

mfeske

Hallo rince reicht es jetzt, wenn ich in der fhem.cfg die Adressen austausche für die CULs?
define CUL868 CUL /dev/ttyACM0@9600 1034
attr CUL868 devStateIcon .*:cul_868
attr CUL868 icon cul_868
attr CUL868 rfmode MAX
attr CUL868 room Funkzentrale
define cm CUL_MAX 123456
attr cm IODev CUL868
attr cm room Funkzentrale
define CUL433 CUL /dev/ttyACM1@9600 1134
attr CUL433 devStateIcon .*:cul_cul
attr CUL433 icon cul_cul
attr CUL433 room Funkzentrale


Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Rince

Ich hab keine Ahnung, tut mir leid.

Probiere es einfach mal aus.



Mehr, als völlig zerstören können wir die Installation nicht. Und ein Backup der RasPi SD Karte dauert ja nicht so lange ;)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

mfeske

Scheint jetzt alles stabiler zu laufen, habe beide jetzt auf 1.62 geflasht und wenn beide angesteckt sind funktioniert die Zuordnung korrekt.

Kannst Du mich jetzt in die Geheimnisse einführen ?!
Zitat von: Rince am 27 Dezember 2014, 07:26:01
Fußnote:
So Wochenzeitpläne kannst du natürlich eintippen in der Befehlszeile.
Dann werden sie gesetzt und sind weg. Meist stellst du irgendwann mal fest, dass du das so nicht wolltest. Wenn du das setzen in einer Funktion  in der 99_myUtils.pm auslagerst, kannst du es recyceln.
Praktisch z.B. für Urlaubsmodus...

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Rince

Strike :)


Hast du jetzt direkt die Geräte in fhem eingebunden, wie dir im Einplatinenrechner Forum geraten wurde?
Oder udev Regeln erstellt?

Weil nämlich, sonst könnte fhem bei nächsten Neustart die Dinger wieder vertauschen!


Zu deiner Frage:
1. Bevor wir in der 99_myUtils.pm Profile setzen, richten wir Max mal ordentlich ein.

Dazu bitte erst mal bei jedem Gerät eine groupid setzen. Kannst du direkt in der Detailansicht der Thermostate und Fensterkontakte machen.
set Heizkörper groupid (steht in der DropDownListe) <eineZahlreinschreiben>

Die GroupID ist wichtig, und muss unterschiedlich sein für alle Thermostate, die verschiedene Wochenprofile haben. Ansonsten ist nämlich ein Ventil der Master und überschreibt die Solltemperaturen der anderen Ventile...

Setze einfach deine auf 1, die deiner Tochter auf 2 und die vom Junior auf 3. Die zugehörigen Fensterkontakte auch. Ob man das braucht bei den Fensterkontakten weiß ich nicht. Aber am Anfang von Max wußte man auch nicht, was die GroupID überhaupt ist ;)

Einfach mal setzen. Etwas später,  wenn du wieder die Detailansicht ansiehst, sollte die neue GroupID drin stehen. Je nachdem wie viele freie Credits du hast, geht es schneller oder dauert länger. Bei mir hat es neulich über eine Stunde gedauert, bis alles durch war. Da lief aber auch MaxScan mit, und ich habe aktuell 13 Thermostatventile.



2. Als nächstes lies dir bitte mal die commandref durch bei Max, unter besonderer Berücksichtigung von weekprofile.

Ich geb dir später ein Beispiel wie das geht. Aber erst lesen...

Was du dir überlegen solltest:
Wann wird welcher Raum wie benutzt.

Bei mir lief das z.B. so ab:
Ich hasse es, morgens ein kaltes Bad zu betreten. Wenn ich dann aber in der Arbeit bin, nutzt mein Bad niemand mehr (auch nicht meine Frau). Abends hingegen ist es wieder in Benutzung.
Das nächste, was du nicht weißt,  sondern nach 2-3 Tagen ansehen kannst, ist die Frage wie schnell heizt sich der konkrete Raum auf. Das mußt erst mal raten.
Bei mir sieht es dann so aus:
Solltemperatur Nachts 17°
Ab 5.30 Uhr will ich 21° (meist gehe ich so gegen 6.30° ins Bad)
Im Prinzip könnte ich dann auch die Heizerei wieder einstellen, da das Bad dann warm ist, Solltemperatur wieder auf 17°.

Das überlege dir mal für jeden Raum.

Im nächsten Schritt bauen wir daraus ein WeekProfile :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

John

Hallo Rince,

ZitatDazu bitte erst mal bei jedem Gerät eine groupid setzen.

Das ist mir neu, habe ich bisher noch nie gemacht und hat totzdem funktioniert.
Woher hast du die Information ?

Im Wiki steht
Zitat(Die Semantik der groupId erschließt sich mir deshalb noch nicht ganz. Ich glaube, man kann damit Befehle (ala set desiredTemperature) an mehrere Thermostate gleichzeitig richten. Im Moment sendet FHEM einfach an jedes Thermostat einen Befehl.)

Insgesamt scheint mir die groupId eher ein Buch mit 7 Siegeln zu schein.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Rince

Hi,

schön zu sehen, dass du da bist John :)


ich hatte das neulich bei mir.
Hatte zuerst alle 13 Thermostatventile in der Gruppe 0.

Und den Scanner an


Die Solltemperaturen hatten mit den in den WeekProfile hinterlegten Temperaturen relativ wenig gemeinsam...
Viel mir auf, als ich aufwachte und es im Schlafzimmer ziemlich kalt war.


Theoretisch kann es auch eine andere Ursache haben;
Ich habe mir einige gebrauchte Max-Geräte gekauft, unter anderem auch Raumthermostate.
Bei einigen war die Batterie noch drin.
Frage an dich John:
Wenn das Thermostat die gleiche Adresse nutzt, wie ich sie verwende, könnte es dann quasi "Out of the Box" (und das ist wörtlich zu nehmen, also Box = Versandkarton) zu Regeln anfangen?

Das könnte auch hinkommen...
Mein Schlafzimmer hatte 15° statt 21° Solltemperatur. Die 15° sollten haben ein Flur und ein Kellerraum...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

John

Hallo Rince

ZitatHatte zuerst alle 13 Thermostatventile in der Gruppe 0.

Es gibt eine Reihe von Readings, die niemals zurückgemeldet werden. Dazu gehört auch die groupID.
FHEM nimmt default an, daß diese auf 0 steht; dies bedeutet wohl, dass das Gerät keiner Gruppe zugeordnet ist.
Aber das muss nicht den tatsächlichen Gegebenheiten im Thermostat entsprechen.
Wenn FHEM aktiv die groupID zum Thermostat schreibt, ändert sich diese auch im Reading, aber nicht weil die groupID
erfolgreich zurückgelesen wurde, sondern weil FHEM annimmt, daß das Schreiben erfolgreich war.

Also wäre ein Factory Reset bei unbekannter Konfiguration sinnvoll , bei allen MAX Devices.

ZitatWenn das Thermostat die gleiche Adresse nutzt, wie ich sie verwende, könnte es dann quasi "Out of the Box" (und das ist wörtlich zu nehmen, also Box = Versandkarton) zu Regeln anfangen?

Die Adresse hat mit dem Regeln erst mal nichts zu tun. Wenn das Thermostat initialisiert ist wird es natürlich auch regeln wollen,
unabhängig von FHEM.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Rince

ZitatWenn FHEM aktiv die groupID zum Thermostat schreibt, ändert sich diese auch im Reading, aber nicht weil die groupID
erfolgreich zurückgelesen wurde, sondern weil FHEM annimmt, daß das Schreiben erfolgreich war.
Hm, jedenfalls versucht fhem wirklich die GroupID zu setzen. Wenn gleichzeitig der Scanner läuft, dauert es durchaus lange, bis fhem das meldet.

Mindestens jeweils 1 Minute...

ZitatAlso wäre ein Factory Reset bei unbekannter Konfiguration sinnvoll , bei allen MAX Devices.
Stimme dir absolut zu, habe ich auch immer gemacht...


ZitatDie Adresse hat mit dem Regeln erst mal nichts zu tun. Wenn das Thermostat initialisiert ist wird es natürlich auch regeln wollen,
unabhängig von FHEM.
Kannst du diesen Satz bitte anders formulieren? Ich verstehe ihn nicht:
"Die Adresse hat mit den Reglern" (meinst du damit die des Max Systems (also z.B. 123456)
"Wenn das Thermostat initialisiert ist" es existiert nur mit eingelegten Batterien in einem Karton... so wie ich es bekommen habe

Ergo: ICH habe es nie initialisiert. Woher weiß das Thermostat, welche Thermostatventile es jetzt regeln soll?
Mir fällt nur die Max! ID ein (also z.B. 123456), die groupID oder jedes individuell...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Wie dem auch sei,
er kann sie setzen oder es bleiben lassen. Im Zweifel kann man sie immer ändern ;)


Wie weit bist du denn mit den Überlegungen für deine Heizzeiten schon gekommen Micha?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

mfeske

#39
Hallo Rince,

ich habe ja erstmal die commandref gelesen und da tauchen ja schon fragen auf ;-)

Wenn ich ein set XX desiredTemperature mache, wird das dann durch Ablauf des Wochenprogramms überschrieben, oder bleibt diese Temperatur dann ?

Ich würde zunächst beide Kinder gleich behandeln ;-)
MO-DO 00:00 - 06:00 18 Grad
MO-DO 06:00 - 07:00 21 Grad (wobei die um 06:00 schon erreicht sein sollten und ich mir noch irgendwelche Plots von der Temperatur machen muss um abschätzen zu können wie lange es dauert)
MO-DO 07:00 - 15:00 18 Grad
MO-DO 15:00 - 19:00 21.5 Grad
MO-DO 19:00 - 23:59 18 Grad

FR 00:00 - 06:00 18 Grad
FR 06:00 - 07:00 21 Grad (wobei die um 06:00 schon erreicht sein sollten und ich mir noch irgendwelche Plots von der Temperatur machen muss um abschätzen zu können wie lange es dauert)
FR 07:00 - 14:00 18 Grad
FR 14:00 - 21:00 21.5 Grad
FR 21:00 - 23:59 18 Grad

SA 00:00 - 06:00 18 Grad
SA 06:00 - 07:00 21 Grad (wobei die um 06:00 schon erreicht sein sollten und ich mir noch irgendwelche Plots von der Temperatur machen muss um abschätzen zu können wie lange es dauert)
SA 07:00 - 14:00 20.5 Grad
SA 14:00 - 21:00 20 Grad
SA 21:00 - 23:59 18 Grad

SO 00:00 - 06:00 18 Grad
SO 06:00 - 07:00 21 Grad (wobei die um 06:00 schon erreicht sein sollten und ich mir noch irgendwelche Plots von der Temperatur machen muss um abschätzen zu können wie lange es dauert)
SO 07:00 - 14:00 20.5 Grad
SO 14:00 - 20:15 20 Grad
SO 20:15 - 23:59 18 Grad

Vermutlich werde ich aber noch etwas experimentieren müssen wie lange die Räume zum aufheizen / abkühlen benötigen. Das dürfte auf Grund der Raumgrössen doch unterschiedlich sein und wird dann doch zu individuellen Programmen führen.

Eine weiter Überlegung ist auch noch die Anwesenheit mit ein zu beziehen bzw. Ferien.

Für Janic habe ich mir auch schon etwas ausgedacht, was aber leider noch nicht ganz zuverlässig funktioniert:
# Anwesenheit Janic start
define Janic PRESENCE lan-ping 192.168.115.37 20 60
attr Janic userattr Bewohner_structure Bewohner_structure_map structexclude
attr Janic Bewohner_structure Bewohner_Kinder
attr Janic devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Janic event-on-change-reading state
attr Janic eventMap 1
attr Janic room Haus
# Bewohner_Kinder auf off setzen nach drei Minuten Abwesenheit
define watchdogBewohnerKinderAbwesend watchdog Bewohner_Kinder:absent 00:01 Bewohner_Kinder:present set Bewohner_Kinder off
attr watchdogBewohnerKinderAbwesend room Haus
# Structure Kinder start
define Bewohner_Kinder structure Bewohner_structure Janic
attr Bewohner_Kinder clientstate_behavior relative
attr Bewohner_Kinder clientstate_priority present absent
attr Bewohner_Kinder devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Bewohner_Kinder eventMap 1
attr Bewohner_Kinder room Haus
define BewohnerKinderOn notify BewohnerKinderOn notify Bewohner_Kinder:present { fhem ("set BewohnerKinder on;;;; setstate watchdogBewohnerKinderAbwesend defined") if (Value("Bewohner_Kinder") ne "on") }

unter Presence wird mir zwar die An- / Abwesenheit angezeigt, aber unter Bewohner_Kinder wird nicht umgeschaltet. Aber das ist dann wohl die nächste Stufe mit der Anwesenheit und den Ferien.

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Rince

ZitatWenn ich ein set XX desiredTemperature mache, wird das dann durch Ablauf des Wochenprogramms überschrieben, oder bleibt diese Temperatur dann ?

Dabei wird das Ventil in den manuellen Modus geschaltet. Das bleibt dann.

Wenn du aber den Scanner einsetzt, wird die Temperatur dennoch nur bis zum nächsten Schaltzeitpunkt verstellt.
ZitatEinrichten des Thermostat-internen Wochenprogrammes

Anders als bei den Vorgängerversionen <=1.04 ist nun ab Version 1.05 zwingend das Thermostat-interne Wochenprogramm notwendig.

D.h. dies muss in den Readings des Thermostats erscheinen. Der Scanner greift ausgiebig auf diese Informationen zurück. Ein manuelles verstellen des Sollwertes ist nur bis zu dem nächsten Schaltzeitpunkt des Wochenprogramms gültig. Danach wird je nach ScanMode das Thermostat selbst oder der Scanner den Sollwert gemäß den Einstellungen des Wochenprogramms ändern.

Das bei früheren Versionen eingesetzte Heating_Control kann somit entfallen.



Wenn du dir mal den Temperaturverlauf ansehen willst, kommst du um den Scanner nicht rum, weil die Thetmostatventile sonst viel zu selten die Temperatur senden, als das da was sinnvolles ablesbar wäre.

Das musst einfach mal ausprobieren. WeekProfile anlegen, hochblasen und 2-3Tage ansehen was passiert.

Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

mfeske

Hallo Rince,

Danke für den Hinweis, ich habe beim scanner aber auch gelesen, das er eine Menge Credits verbraucht und bei den sieht es so aus wie auf meinem Bankkonto ;-) Ich werde mal versuchen meine TFA Raumfühler mit einem Plot übereinander zulegen.

Sind wir jetzt soweit, das Du mir die Sache mit der 99_myUtils.pm erklären kannst ?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Rince

Äh, von dir aus ja, aber leider hab ich jetzt keine Zeit.

Wird erst am Sonntag was.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

mfeske

na mensch, als ob zwei Tage jetzt eine Rolle spielen ;-) Ich spiele in der Zeit mit den Plots.
Gruß
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

mfeske

Okay nach ein wenig Selbststudium bin ich denke ich hinter das "Geheimnis" gekommen. Ich lege in der Datei eine Funktion ab, welche ich von FHEM aus aufrufe. Ich habe für das Heizungsprogramm jetzt die unten stehen Zeilen eingefügt. Habe aber noch keinen Weg gefunden An- Abwesenheit / Ferien / Wochenende richtig zu berücksichtigen. So sende ich ja vermutlich auch immer ein komplettes Wochenprogramm was zu lasten meiner Credits geht ?!

Gruß
Micha
sub
SetTempList_Janic_Heizung_normal()
{
{ fhem ("set Heizung_Janic weekProfile Mon 18,6:00,21,7:00,18,15:00,21.5,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Tue 18,6:00,21,7:00,18,15:00,21.5,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Wed 18,6:00,21,7:00,18,15:00,21.5,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Thu 18,6:00,21,7:00,18,15:00,21.5,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Fri 18,6:00,21,7:00,18,14:00,21.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Sat 18,6:00,21,7:00,20.5,14:00,20,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Sun 18,6:00,21,7:00,20.5,14:00,20,18:15,18,23:59,18")};
{ fhem ("set Heizung_Janic boostDuration 5")};
{ fhem ("set Heizung_Janic boostValveposition 99")};
}
sub
SetTempList_Janic_Heizung_off()
{
{ fhem ("set Heizung_Janic weekProfile Mon 18,6:00,18,7:00,18,15:00,18,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Tue 18,6:00,18,7:00,18,15:00,18,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Wed 18,6:00,18,7:00,18,15:00,18,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Thu 18,6:00,18,7:00,18,15:00,18,17:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Fri 18,6:00,18,7:00,18,14:00,18,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Sat 18,6:00,18,7:00,18,14:00,18,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Sun 18,6:00,18,7:00,18,14:00,18,18:15,18,23:59,18")};
{ fhem ("set Heizung_Janic boostDuration 5")};
{ fhem ("set Heizung_Janic boostValveposition 99")};
}
sub
SetTempList_Janic_Heizung_Ferien()
{
{ fhem ("set Heizung_Janic weekProfile Mon 18,6:00,20,8:00,20.5,15:00,20.5,17:00,18.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Tue 18,6:00,20,8:00,20.5,15:00,20.5,17:00,18.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Wed 18,6:00,20,8:00,20.5,15:00,20.5,17:00,18.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Thu 18,6:00,20,8:00,20.5,15:00,20.5,17:00,18.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Fri 18,6:00,20,8:00,20.5,14:00,20.5,17:00,18.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Sat 18,6:00,20,8:00,20.5,14:00,20.5,17:00,18.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic weekProfile Sun 18,6:00,20,8:00,20.5,14:00,20.5,17:00,18.5,19:00,18,23:59,18")};
{ fhem ("set Heizung_Janic boostDuration 5")};
{ fhem ("set Heizung_Janic boostValveposition 99")};
}
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)