Hi,
ich habe hier u.a. 8 Thermostate HM-CC-RT-DN verbaut.
Ich möchte via Kalender die Termostate absenken.
Die Kalenderfunktion ist realisiert und funktioniert. Einzig bei der Funkübertragung hakt es.
Ich habe einen kleinen schnipsel Perl Code mit dem ich alle Termostate absenken will:
sub SetThermostatManualLow
{
### List of all devices
my @devices = split(' ',fhem("list TYPE=CUL_HM:FILTER=subType=thermostat"));
### Set each device to manual mode and 12°C
foreach (@devices)
{
fhem("set ${_}_Clima controlMode manual");
fhem("set ${_}_Clima desired-temp 12");
fhem("set ${_}_Clima burstXmit");
sleep 30;
}
}
Ohne das "sleep 30" bleiben alle Funktelegramme hängen.
Mit den 30 Wartezeit geht zwar seinbar alles raus.
2015.04.11 13:37:13.037 3: CUL_HM set AZ_Thermostat_Clima controlMode manual
2015.04.11 13:37:13.112 3: CUL_HM set AZ_Thermostat_Clima desired-temp 12
2015.04.11 13:37:13.133 3: CUL_HM set AZ_Thermostat_Clima burstXmit
2015.04.11 13:37:43.665 3: CUL_HM set BD_Thermostat_Clima controlMode manual
2015.04.11 13:37:43.723 3: CUL_HM set BD_Thermostat_Clima desired-temp 12
2015.04.11 13:37:43.743 3: CUL_HM set BD_Thermostat_Clima burstXmit
.......
aber bei zwei von 8 bleibt der Modus auf "Auto" obwohl "manual" gesendet wurde, während die 12°C überall angekommen sind.
Zwei Fragen:
Muß ich wirklich immer ein sleep einbauen ?
Wie bekomme ich das Senden zuverlässiger ?
Danke
Warum so kompliziert?
Ein
set .*._Thermostat_Clima controlManu 12
Und ein
set .*._Thermostat_Clima burstXmit
Vielen Dank, dass sieht viel eleganter aus.
Ich habe es eben ausprobiert und bekomme wieder die Kommunikationsprobleme.
Laut Logfile gehen wieder alle Telegramme raus:
2015.04.11 16:57:58.935 3: CUL_HM set AZ_Thermostat_Clima controlManu 12
2015.04.11 16:57:59.585 3: CUL_HM set BD_Thermostat_Clima controlManu 12
2015.04.11 16:58:00.251 3: CUL_HM set EZF_Thermostat_Clima controlManu 12
2015.04.11 16:58:00.905 3: CUL_HM set EZT_Thermostat_Clima controlManu 12
2015.04.11 16:58:01.567 3: CUL_HM set KU_Thermostat_Clima controlManu 12
2015.04.11 16:58:02.219 3: CUL_HM set SZ_Thermostat_Clima controlManu 12
2015.04.11 16:58:02.865 3: CUL_HM set WC_Thermostat_Clima controlManu 12
2015.04.11 16:58:03.553 3: CUL_HM set WZT_Thermostat_Clima controlManu 12
2015.04.11 16:58:03.602 3: CUL_HM set AZ_Thermostat_Clima burstXmit
2015.04.11 16:58:03.622 3: CUL_HM set BD_Thermostat_Clima burstXmit
2015.04.11 16:58:03.641 3: CUL_HM set EZF_Thermostat_Clima burstXmit
2015.04.11 16:58:03.660 3: CUL_HM set EZT_Thermostat_Clima burstXmit
...
Hier ein Auszug vom KU_Thermostat_Clima
partyEnd - 2015-04-11 16:56:17
partyStart - 2015-04-11 16:56:17
partyTemp - 2015-04-11 16:56:17
recentStateType ack 2015-04-11 14:26:04
state set_controlManu 12 2015-04-11 16:58:01
und dem zugehörigen KU_Thermostat:
protCmdPend 1 CMDs pending
protCondBurst off
protLastRcv 2015-04-11 16:58:04
protSnd 2 last_at:2015-04-11 16:58:03
protState CMDs_pending
rssi_at_SCC avg:-69.5 min:-69.5 max:-69.5 lst:-69.5 cnt:1
Es scheint als würden die Telegramme hängen.
Das ändert sich erst nach einem Neustart von FHEM.
Warte doch erstmal einen Moment und gucke ob alle korrekt ändern, oder ob es Fehlermeldungen im Log gibt.
Hast Du denn den Burst auch an den Thermostaten aktiviert?
Die Thermostate tauschen sonst ca. alle 2.5 Minuten die Daten aus.
wollt ich auch sagen burst am themrostat an?
was kommt wenn du mal 10 minuten wartest? chmd_pending oder wirklich ein fehler?
und den burtsXmit kannst du auch weg lassen, bedeutet bei dir wenn ich richtig seheh auch noch mal 8 befehle weniger
Hi,
ausgelöst habe ich die Aktion um 2015.04.11 16:57:58
Jetzt (19:52) ist der Status noch immer gleich.
> burst am themrostat an?
Teilweise. Habe ich jetzt mal nachgezogen.
In der LOG Datei konnte ich nichts finden was irgendwie hilfreich wäre.
Verbose 5 und es erscheint nur Einträge des SYSMON Moduls und das Laden der WEB Side.
Es kommen auch scheinbar keine Telegramme mehr rein, alle Plots stehen still, auch die von den anderen Geräten (wie z.B. der Außentemperatur Sensor).
Ich habe jetzt FHEM neu gestartet mal schaun ob sich wieder alles fängt.
Het denn irgendwer eine Applikation wo das was ich machen will funktioniert ?
Zitat von: peter_w am 11 April 2015, 20:18:29
Het denn irgendwer eine Applikation wo das was ich machen will funktioniert ?
sehr viele, ich habe zwar nur 5 rt aber es gibt leute mit mehr als deinen 8 und deine aufgabe / anforderung ist nichts besonderes, sollte also laufen.
die meistdn nutzen sicber hmlan ode rhmusb aber auch mit cul/scc sollte es problemlos gehen
ich empfehle (dringend) in diesem Fall von Burst abzusehen.
Burst ist aus Funksicht performance-intensiv. Man kann es bei manuellen Aktionen nutzen - und wenn sich asynchrone Devices unterhalten(Thermostate zu RTs, Fenster-offen Erkennung,...).
Um regelmäßige Temps zu setzen, z.B. nach Kalender, sollte das warten auf das Aufwachen hinreichend sein. Das Kommando wird dann nach 0-3min ausgeführt. Sollte es doch zu Problemen und Kollisionen kommen (wenn alle gleichzeitig aufwachen) dauert es eben noch einmal 3 min.
Wenn ihr so viel bursted achtet darauf, dass das IO nicht abschaltet.
Natürlich MUSS bei conditional-burst devices dies eingeschaltet sein - sonst wird die Funklast noch höher(wegen der Fehlversuche)