gelöst - mit S300TH parallel FHT8V UND Schaltaktor steuern

Begonnen von Stefan Scholz, 08 Dezember 2013, 11:22:12

Vorheriges Thema - Nächstes Thema

Stefan Scholz

Hallo ihr Fhem-Experten  ;)

Ich möchte meine bestehende und seit einigen Monaten laufende Heizungsregelung erweitern.

Momentan regle ich zuverlässig mit einem S300TH einen Stellantrieb FHT8V mittels dem Modul "Heating_Control".
Das Haus wird jedoch auch mittels Luftwärmepumpe geheizt und mit Frischluft versorgt. Der entsprechende Verdichter wurde bisher über einen separaten Thermostat gesteuert, welcher jetzt wegfallen soll (ist er eigentlich schon). Die Steuerung soll Fhem übernehmen.
Angesteuert wird dieser durch einen HM-LC-Sw1PBU-FM, also diesem Unterputzschaltaktor.

Nun möchte ich jedoch nicht für diesen Aktor eine komplett neue Regelung "entwerfen" sondern möchte diesen mit der bestehenden Regelung verbinden. Der Aktor muss ja "nur" die entsprechenden Temperaturen schalten, also on:off
Es sollen also die Werte von Heating_Control bzw. die Cange-Werte aus dem Floorplan übernommen werden.

Beiträge zum Schalten des S300TH gibt es ja genug, nur bekomme ich "meine" Wünsche damit nicht hin.  Die einzelne Kombination geht zwar, aber nicht wie ich es gern umgesetzt hätte.

Nachfolgend meine bestehende Config. Der Aktor für den Verdichter ist momentan nur manuell zu schalten.
#### Temperatur u. Feuchtesensor Wohnzimmer (S300TH) ###
define TempFeuchte_EG_WZ CUL_WS 2
attr TempFeuchte_EG_WZ fp_Erdgeschoss 345,680,4,
attr TempFeuchte_EG_WZ model S300TH
attr TempFeuchte_EG_WZ room CUL_WS
define FileLog_TempFeuchte_EG_WZ FileLog ./log/TempFeuchte_EG_WZ-%Y.log TempFeuchte_EG_WZ:T:.*
attr FileLog_TempFeuchte_EG_WZ logtype temp4hum6:Temp/Hum,text
attr FileLog_TempFeuchte_EG_WZ room CUL_WS
define weblink_TempFeuchte_EG_WZ SVG FileLog_TempFeuchte_EG_WZ:temp4hum6:CURRENT
attr weblink_TempFeuchte_EG_WZ label "TempFeuchte_EG_WZ Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_TempFeuchte_EG_WZ room Plots
#
### Heizkörpersteuerung im Wohnzimmer (FHT8V ###
define stellantriebeWZ FHT8V 1234
attr stellantriebeWZ comment Wohnzimmer.8v.FHT.01
attr stellantriebeWZ fp_Erdgeschoss 425,688,0
attr stellantriebeWZ room Heizungen
#
define heizungWZ PID TempFeuchte_EG_WZ stellantriebeWZ
attr heizungWZ alias Heizung_WZ
attr heizungWZ room Heizungen
#
### Darstellung im Floorplan
define HeizkoerperWZ_Wunschtemp dummy
attr HeizkoerperWZ_Wunschtemp fp_Erdgeschoss 290,655,2,
attr HeizkoerperWZ_Wunschtemp room Heizungen
attr HeizkoerperWZ_Wunschtemp setList state:17,18,20,21,21.5,22,22.5,23,23.5
attr HeizkoerperWZ_Wunschtemp webCmd state
### Der Notivy steuert das Zusammenspiel Änderung (Change)im Floorplan und
### Weitergabe an FHEM
define Change_heizungWZ notify HeizkoerperWZ_Wunschtemp  {\
        my $neuer_wert = ReadingsVal  ("HeizkoerperWZ_Wunschtemp","state","0") ;;\
        fhem("set heizungWZ desired $neuer_wert");;\
        Log 3, "Heizung_WZ geaendert auf: $neuer_wert ";;\
        }
attr Change_heizungWZ room Heizungen
#
### Steuerung Heizkörper im Wohzimmer mit Heating-Control ###
define HCWZwt Heating_Control heizungWZ 05:40|20.5 15:30|22 19:00|23 22:45|20.5 { fhem("set @ desired %") if (!$we) }
attr HCWZwt room Heizungen
define HCWZwe Heating_Control heizungWZ 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set @ desired %") if ($we) }
attr HCWZwe room Heizungen
#
###############################################
### Aktor für Schaltung Verdichter (heizen) ###
define WGT_heiz CUL_HM 1F0204
attr WGT_heiz .devInfo 010100
attr WGT_heiz .stc 10
attr WGT_heiz autoReadReg 4_reqStatus
attr WGT_heiz devStateIcon on:WGT_heiz.on:off off:WGT_heiz.off:on
attr WGT_heiz expert 2_full
attr WGT_heiz firmware 2.1
attr WGT_heiz fp_Erdgeschoss 206,675,1,WGT_heizen
attr WGT_heiz model HM-LC-Sw1PBU-FM
attr WGT_heiz peerIDs 00000000,
attr WGT_heiz room WGT
attr WGT_heiz serialNr JEQ0658471
attr WGT_heiz subType switch
attr WGT_heiz webCmd toggle:on:off:statusRequest
define FileLog_WGT_heiz FileLog ./log/WGT_heiz-%Y.log WGT_heiz
attr FileLog_WGT_heiz logtype text
attr FileLog_WGT_heiz room CUL_HM


Danke für eure Geduld beim Lesen  :)

Gruß
Stefan

sch3d3f4n

genau die selbe Frage habe ich auch... nur mit einem FS20 Schaltaktor...

drdownload

Ich habe im Badezimmer elektrischen Handtuchheizkörper und FHT8v  beide sind über eine Structure zusammengeführt der ich eine gemeinsame Zieltemperatur übergeben kann. Das Ansprechen übernehmen dann PID und Threshold Modul. Würde das in euer Szenario passen?
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Stefan Scholz

#3
@drdownload
Erst mal danke für die Antwort!

Vom Prinzip scheint es ja das gleiche zu sein. Du steuerst ein Ventil analog und gleichzeitig einen elektrischen Verbraucher mit an/aus. Beide sollen um die selbe Temperatur regeln. Ich denke, es ist der gleiche Anwendungsfall   ;D

Das "Threshold Modul" ist mir nicht bekannt, besser, habe mich noch nicht damit beschäftigt.

Mein "Plan" mit Fhem ist nicht wirklich überwältigend. Habe vieles nur mittels der geduldigen Hilfe hier im Forum zustande gebracht. Von daher wäre mir eine anfängertaugliche Hilfe sehr angenehm  ;)

Gruß
Stefan

Nachtrag:
Mir fällt da grad noch was ein. Da dieser Wärmetauscher nicht immer läuft sondern nur gewisse Zeiten am tag, könnte man dann nicht einfach die "ist Temperatur" beim einschalten auslesen und um diese regeln?
vielleicht sollte ich dafür ein anderes Thema auf machen?

Damian

define TH_WGT_heiz THRESHOLD TempFeuchte_EG_WZ WGT_heiz

define HC_WGT_heiz Heating_Control TH_WGT_heiz 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set @ desired %") if ($we) }


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

drdownload

define handtuch.badezimmer IT F000FF0000 0F F0
define stellantrieb.badezimmer FHT8V 1334

define pid.badezimmer PID TH.Badezimmer stellantrieb.badezimmer

define threshold.badezimmer THRESHOLD TH.Badezimmer handtuch.badezimmer
attr threshold.badezimmer threshold.badezimmer_map desired:desired_value

define structure.heizung.badezimmer structure dummy_type threshold.badezimmer pid.badezimmer
attr structure.heizung.badezimmer room .system
attr structure.heizung.badezimmer threshold.badezimmer_map desired:desired_value

define heizung.badezimmer dummy
attr heizung.badezimmer comment Heizung
attr heizung.badezimmer room Badezimmer
attr heizung.badezimmer setList state:17,18,19,20,21,21.5,22

define n_heizung.badezimmer notify heizung.badezimmer {\
my $neuer_wert = ReadingsVal("heizung.badezimmer","state","0") ;;\
fhem("set structure.heizung.badezimmer desired $neuer_wert");;\
}

-> ich bin mir sicher, das geht noch leichter und ist noch schwerst verbesserungswürdig, aber auch ich kratze nach wie vor nur an der oberfläche von fhem und habe  noch immer nicht meine abscheu vor perl verloren
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Stefan Scholz

@Damian
Danke! Das sieht mir fast zu einfach aus, als das es gehen könnte ;D

ist deine Definition
define HC_WGT_heiz Heating_Control TH_WGT_heiz 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set @ desired %") if ($we) }

zusätzlich zu der bestehenden
define HCWZwe Heating_Control heizungWZ 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set @ desired %") if ($we) }
einzusetzen? Somit müsste ich ja jeweils die Zeiten doppelt ändern.
Ich gehe mal davon aus, dass ich die Zeile ersetzen werde ;)

Gruß
Stefan

Damian

Zitat von: Stefan 69 am 08 Dezember 2013, 20:09:38
@Damian
Danke! Das sieht mir fast zu einfach aus, als das es gehen könnte ;D

ist deine Definition
define HC_WGT_heiz Heating_Control TH_WGT_heiz 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set @ desired %") if ($we) }

zusätzlich zu der bestehenden
define HCWZwe Heating_Control heizungWZ 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set @ desired %") if ($we) }
einzusetzen? Somit müsste ich ja jeweils die Zeiten doppelt ändern.
Ich gehe mal davon aus, dass ich die Zeile ersetzen werde ;)

Gruß
Stefan

na dann einfach beides zusammen:

define HCWZwe Heating_Control 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set heizungWZ desired %;;set TH_WGT_heiz desired %") if ($we) }

Manchmal ist es einfacher als man denkt :)

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Stefan Scholz

@Damian
Jetzt sieht es so aus,
###### Test mit Einbindung WGT ######
define TH_WGT_heiz THRESHOLD TempFeuchte_EG_WZ WGT_heiz

#############################################################
### Steuerung Heizkörper im Wohzimmer mit Heating-Control ###
define HCWZwt Heating_Control heizungWZ 05:40|20.5 15:30|22 19:00|23 22:45|20.5 { fhem("set heizungWZ desired %;;set TH_WGT_heiz desired %") if (!$we) }
attr HCWZwt room Heizungen
define HCWZwe Heating_Control heizungWZ 08:10|20.5 11:00|22 19:00|23 22:45|20.5 { fhem("set heizungWZ desired %;;set TH_WGT_heiz desired %") if ($we) }
attr HCWZwe room Heizungen


aber es gibt diese Fehlermeldung beim speichern der .cfg (oh man mein Englisch):

ERROR:
TH_WGT_heiz: Unknown actor device WGT_heiz specified

Gruß
Stefan

Damian

Dann ist zum Zeitpunkt der Definition von TH_WGT_heiz WHT_heiz noch nicht definiert.
Entweder WHT_heiz Definition vorziehen oder TH_WHT_heiz-Definition nach hinten setzen.

Ich editiere die cfg-Datei nie. Ich definiere alles über Commandozeile und dann save, wenn die Reihenfolge der Definitionen stimmt, dann kann da nichts passieren.

Gruß

Damian


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Stefan Scholz

Hallo Damian

Es funktioniert! DANKE!!!

Also gestern dachte ich erste, es geht nicht da sich nix getan hat. Heute gegen Mittag hat die Regelung nun plötzlich funktioniert. Scheinbar braucht die ganze Sache erst eine Art Durchlauf.

Wenn ich die Sache ausbaue, würde ich mich hier noch mal melden.

DANKE!!!
Gruß Stefan