Hallo,
ich versuche verzweifelt eine fakeWT in Fhem einzubinden.
Folgende Konfiguration verwende ich dafür
MaxCube geflasht mit CULfw
MaxHeizkörperthermostate+
EIB Temperatursensor
Habe alles gemacht wie im Wiki beschrieben, jedoch übernehmen die KK-Thermostate nicht den IST-Wert des TempSensors.
Hier ein Auszug aus der cfg
Zitatdefine SendExtTemp notify EIB_0600:state.* {\
MaxFakeWallThermostat("heizung", %EVTPART1);;\
}
Dann steht das in der 99_myUtils
Zitatsub MaxFakeWallThermostat($$)
{
my ($heizung, $aktTemp) = @_;
my $CULMAX = $defs{$heizung}{LASTInputDev};
my $desiredTemp = ReadingsVal($heizung, "desiredTemperature", undef);
my $windowOpenTemp = ReadingsVal($heizung, "windowOpenTemperature", undef);
my $lastTemp = ReadingsVal($heizung, "LastExtTemperature", 0);
my $lastSet = ReadingsTimestamp($heizung, "LastExtTemperature", 0);
if($desiredTemp && $windowOpenTemp &&
$desiredTemp != $windowOpenTemp &&
(time()-time_str2num($lastSet) >= 600 || abs($aktTemp-$lastTemp)>=0.2 )) {
Log 3, "set $CULMAX fakeWT $heizung $desiredTemp $aktTemp";
readingsSingleUpdate($defs{$heizung}, "LastExtTemperature", $aktTemp, 0);
fhem("set $CULMAX fakeWT $heizung $desiredTemp $aktTemp");
}
}
Nur ändert sich der Temperaturwert der MaxHT nicht.
Habe bereits mehrfach ein "associate FakeWallThermostat" des Heizkörperthermostats versucht, jedoch ohne Erfolg.
Hat evtl jemand von euch eine Idee oder sieht einen Fehler?
Anbei noch ein Screenshot vom EIB-Tempsensor
MfG
habs geschafft
Lösung war beim EIB -Tempsensor ein userReading anzulegen und auf dieses das notify legen.
Hallo Shadow,
bin ganz neu bei FHEM.
Kannst du mir vielleicht etwas genauer beschreiben wie du das gelöst hast?
Ich habe genau das gleiche Problem in Verbindung mit Lacrosse-Sensoren.
Wie muss ich denn das notify auf das userReading legen?
MFG
Hallo, ich habe mittlerweile die Nase voll gehabt vom FakeWallThermostat.
Habe mittlerweile alle Räume mit dem PID20 regler laufen, und muss gestehen, dass es besser funktioniert als die Geschichte mit dem FakeWallThermostat.
Lies dich dort mal ein, ich denke, dass das die bessere Lösung darstellt.
Alle Infos zu FakeWT findest du in der Wiki
https://wiki.fhem.de/wiki/MAX (https://wiki.fhem.de/wiki/MAX)
Mit freundlichen Grüßen
Ich habe es jetzt erstmal so gelöst:
sub MaxFakeWallThermostat($$)
{
my ($heizung, $aktTemp) = @_;
my $CULMAX = $defs{$heizung}{LASTInputDev};
my $desiredTemp = ReadingsVal($heizung, "desiredTemperature", undef);
my $windowOpenTemp = ReadingsVal($heizung, "windowOpenTemperature", undef);
my $lastTemp = ReadingsVal($heizung, "temperature", 0);
my $lastSet = ReadingsTimestamp($heizung, "temperature", 0);
if($desiredTemp && $windowOpenTemp &&
$desiredTemp != $windowOpenTemp &&
(time()-time_str2num($lastSet) >= 600 || abs($aktTemp-$lastTemp)>=0.2 )) {
Log 3, "set $CULMAX fakeWT $heizung $desiredTemp $aktTemp";
readingsSingleUpdate($defs{$heizung}, "temperature", $aktTemp, 0);
fhem("set $CULMAX fakeWT $heizung $desiredTemp $aktTemp");
}
}
Danke für die Info zu dem anderen Modul, werde es jetzt erstmal so testen.
Zitat von: Shadow3561 am 22 März 2017, 19:52:17
Hallo, ich habe mittlerweile die Nase voll gehabt vom FakeWallThermostat.
Habe mittlerweile alle Räume mit dem PID20 regler laufen, und muss gestehen, dass es besser funktioniert als die Geschichte mit dem FakeWallThermostat.
Lies dich dort mal ein, ich denke, dass das die bessere Lösung darstellt.
Alle Infos zu FakeWT findest du in der Wiki
https://wiki.fhem.de/wiki/MAX (https://wiki.fhem.de/wiki/MAX)
Mit freundlichen Grüßen
Hallo Shadow3561
du hast mich auf den Plan mit dem PID20 gebracht. Wie muss ich mir das vorstellen?
Ich lasse die Thermostate weiterhin autark mit Wochenprogramm laufen, hole mir mit dem PID-Regler die Soll-Temperatur vom Thermostat-Reading und lasse dann anhand dem separaten Thermometer einfach die maxValues regeln?
Was ist, wenn das Thermostat feststellt, dass die von sich aus gemessene Temperatur weit über dem Soll ist, dann regelt das Thermostat doch unabhängig von dem definierten maxValue auf eine niedrigere Thermostat-Öffnung.
Danke und beste Grüße
Moin,
Ich habe es alles so aufgebaut/gelöst, wie es im PID20-Wiki (https://wiki.fhem.de/wiki/PID20_-_Der_PID-Regler) beschrieben ist.
Dazu habe ich dann noch das Heating_Contol Modul (https://wiki.fhem.de/wiki/Heating_Control) benutzt um das Wochenprogramm zu umgehen, des Weiteren habe ich mir ein paar Dummies gebastelt um mehrere Heating-Control anzusteuern.
Habe eins für Urlaub, Abwesend, Anwesend, Manuell, Automatik .
musst dich mal in die Materie einlesen, ist garnicht so kompliziert.
Falls du nicht weiterkommst, einfach in den entsprechenden Threads nachfragen.
MfG
Danke, HeatingControl kannte ich noch nicht.
Zitat von: Shadow3561 am 22 März 2017, 19:52:17
Hallo, ich habe mittlerweile die Nase voll gehabt vom FakeWallThermostat.
[...]
Hallo Shadow,
seit meinem Post sind ein paar Monate vergangen. Im Sommer macht man bekanntlich anderes, als an der Heizung zu basteln, deswegen kommt das Thema für mich erst jetzt wieder auf. Theoretisch hab ich tierisch Bock auf den PID20 Regler.
Dennoch würde mich interessieren, was dich die "Nase voll" haben ließ vom fakeWT.
Beste Grüße
Hallo zusammen,
ich versuche das fakeWallThermostat gerade in Zusammenspiel mit einem Broadlink Pro ans Laufen zu bringen. Ich habe mir den Wiki-Artikel dazu durchgelesen und alles kopiert und die Gerätebezeichnungen auf meine Belange angepasst. Bei
define SendExtTemp notify WZ_Broad:currentTemperature.* { MaxFakeWallThermostat("MAX_abcxyz", $EVTPART1); }
bekomme ich aber immer den gleichen Fehler
Missing right curly or square bracket at (eval 575) line 1, at end of line
syntax error at (eval 575) line 1, at EOF
Unknown command }, try help.
als Ergebnis. Ich verstehe nicht, wo dort eine Klammer fehlen soll. Square brackets sind keine vorhanden also kann es doch eigentlich nur um die curly brackets gehen. Und da sehe ich genau 2 Stück von. Eine offen, eine zu. Bin ich blind? Oder lockt mich die Fehlermeldung auf den komplett falschen Pfad?
Gruß,
petjek