Weisshaupt Heizungssteuerung

Begonnen von Elektrolurch, 19 Dezember 2013, 13:15:50

Vorheriges Thema - Nächstes Thema

Elektrolurch

Update 14.3.2015

Hallo,

ich habe eine neue Weisshaupt - Heizungsanlage mit Gastherme und Solarzuheizung. Alles ist vernetzt über ein Modul Wcom, ein Webserver, der mit dem Client über json und etwas entkryptischen Telegrammen spricht. Nach einigem Reverse-Engineering habe ich das ganze aber "geknackt" und kann die Werte / Parameter auch von fhem schon auslesen.
Hat noch jemand so eine Anlage, dann würde es sich ja lohnen, aus dem bestehenden Code ein Modul zu machen?


Ergänzung:
Habe jetzt mal meine Version des Moduls hier angehängt.

Die 99_myUtilsHeizung enthält das Modul Wcmcom mit den devices für einen Gasbrenner, Heizkreise und Solaranlage. Welche devices verwendet werden sollen, werden über
attr HzAnlage devices <Liste...>
gesteuert.
Das Kommunikationsmodul von Weisshaupt enthält Unterseiten für Prozesswerte (_P), Konfiguration (_C) und für Einstellungen des Fachmanns (_F). Entsprechend sind die devices auch in meinem Modul Wcmcom benannt.
Alle seitens der Anlage  schreibbaren Werte sind auch von fhem damit änderbar. Die seitens Weisshaupt hinterlegten min und max-Werte werden auch von fhem berücksichtigt und können nicht über- bzw. unterschritten werden.
(Die Menüs, die per stList definiert werden, werden automatisch mit den Grenzwerten berechnet!)

Da Weisshaupt auch die Öffnung des Gasventils des Brenners ausgibt (Laststellung) und mein Modul 1 x Minute alle Werte ausliest, habe ich gleich eine Gasverbrauchsmessung implementiert. Man muss einmal die gemessenen Werte mit dem Gaszähler abgleichen.
Dazu ruft man zum Start der Kalibrierung
set HzAnlage GasStart <Wert des Zählers in cbm>
auf.
Nach einigen Wochen dann
set HzAnlage GasEnd <Zählerstand in cbm<
Daraus wird dann die Kalibrierung automatisch berechnet. Bei mir ergab sich ein Wert von 0.041 = 2.2 cmbm/je Stunde, was ziemlich genau der Maximalleitung der Anlage von 22 kWh entspricht.
Zusammen mit der Solaranlage, die ihre Ertragswerte ebenfalls in kWh angibt, wird dann eine "Gesamtenergiebilanz" inkl. Öko-Anteil errechnet.

Die 99_myUtilsHeizung setzt so um 23:45  die berrechneten Grenzwerte zurück, wie z.B. auch die Kollektortemp und Außentemps.
(Anpassung ggfs. notwendig).


Die 00_utils_Solar enthält ein
define HzAnlage Wccmcom <IP-Adresse> anpassen!
die zu setzenden Attribute der HzAnlage
die Definition einer readingsGroup zur Anzeige der HzaAnlage (Gasbrenner, Heizkreise)
die Definition einer readingsGroup  zur Anzeige der Solaranlage, der Jahres- und Monatsstatistik
die Definition einiger at's und notify's.

Die readingsGroups für die Anzeige des Gasbrenners und der Solaranlage und der Steuerung durch die Raumthermostate (PID) wurden nun dynamisch gestaltet:
- Es gibt zwei Modi für die Ansicht: Normal und Fachmann. Die Neuberechnung der rgs erfolgt in der 99_myUtilsSolar mit den subs "Modify...".
Außerdem wurden nun für die Temperaturen und Zustände Farben und Icons zum Aufhübschen hinzugefügt.


Die 99_myUtilsSolar enthält perl-Routinen für die erweiterte Steuerung der HzAnlage.

wie da u.a. wären:
- ein notify auf die Werte der HzAnlage zur Überwachung von Grenzwerten, Steuerung des Pufferschutzes und der Solarpriotät bei zu erwartendem Schönwetter.

- Vorlauftemperaturkontrolle (VTK)
wertet periodisch für vordefinierte Leiträume die Differenzen zwischen Soll- und Ist-Temperatur aus und steuert damit die Vorlauftemperatur der HzAnlage.
Dazu muss der HK2 (bei mir der Heizkreislauf, HK1 ist WW) auf die Regelvariante = Konstantvorlauf geschaltet werden.
Mit HK2-Betriebsart = Sommer schaltet man im übrigen die Umwälzpumpe aus, was VTK bei ausreichenden Raumtemperaturen zur Stromerspranis automatisch macht.

Die Parameter für die Vorlaufsteuerung über die Raumtemperatur und die Solar-Priosierung / Pufferschutz werden über den dummy PID und der Darstellung in der rg PID_rg gesteuert.
Setzt man dnen Zustand von PID auf "ein", so wird automatisch der Heizkreis (HK2) auf die Regelvariante "Konstantvorlauf" umgeschaltet.

Die VTK hat einige Parameter, die in dem dummy PID hinterlegt sind und ebenfalls über diereadingsGroup  PID angezeigt werden (Schaltschwelle zwischen Komfort und Absenk (Temp 18.5, Ventilschwelle 80 %, Regeldiefferenz 0.8 Grad)


Die VTK wird immer 5 Minuten nach Wechsel eines an den Thermostaten hinterlegten Programms (Wechsel zwischen Komfort und Absenk) automatisch aufgerufen, aber mindestens einmal je Stunde.
(Die Praxis hat gezeigt, die VTK auch durch Änderung der "desired-temp" an den Thermostaten anzustossen, um so auch schnell auf manuelle Änderungen reagieren zu können. Ist aber nicht hier Bestandteil -> Thermostate_notify notify ...)


Die VTK versucht die Vorlauftemperatur so einzustellen, dass das Regelventil an den Heizkörpern so um die 80 %  geöffnet ist.
Ist die Ventilstellung geringer, ist die Vorlauftemperatur zu hoch, ist sie größer, ist sie zu gering.
Durch die oben beschriebenen Zeitintervalle der VTK und durch ein bisschen Mathematik wird das Regelverhalten der VTK gedämpft, so dass kein Schwingen entstehen sollte.

Ein paar Stellen sind noch experimentell und für den Einsatz in einem anderen Umfeld sind sicher auch noch einige Anpassungen notwendig.
Ich habe jetzt ca. 4 Monate Heizbetrieb damit geschafft und das Ergebnis war durchaus zufriedenstellend.

Werden andere Thermostate als FHTs verwendet, so müssen Anpassungen vorgenommen werden.
Bei den Thermostaten ist ein reading "Leitraum" hinterlegt, welches die Werte ja, nein, 0.5, 0.75, 1.0, 1.25 und 1.5 haben kann. (Wichtung bei der VTK-Berechnung)
Gruß

Elektrolurch

Version vom 5.6.2015
kleine Änderungen, readingsGroup zur Anzeige kleinere Optimierungen
configDB und Windows befreite Zone!

extraem

Hallo Elektrolurch

da bei mir demnächst (2014) meine in die Jahre gekommene Gasheizung durch eine Weishaupt Gastherme ersetzt werden soll habe ich schon Interesse an einem Modul um die Daten in fhem zu bekommen ich kann dir nur leider nicht dabei helfen da ich die Anlage ja noch nicht habe
Ich hoffe du machst ein Modul

Elektrolurch

Hallo,

bei der Konzeption der Anlage ist darauf zu achten, dass die Komponenten tatsächlich auch mit dem Wcmcom - Modul zusammenarbeiten können. Mein Heizungsbauer hatte für den Solarteil zuerst das falsche Modul verbaut. Das konnte zwar den internen Bus, aber nicht mit dem Wcmcom zusammenarbeiten.
Mit der SW geht's schon ganz gut weiter, nach dem ich Reverse Engineering betrieben habe....
Ich denke, dass ich da in den nächsten Wochen ein Modul hier einstellen kann.

Elektrolurch
configDB und Windows befreite Zone!

extraem

Hallo Elektrolurch

danke für den Hinweis
Solar werd ich nicht machen nur die Gastherme welche hast du und wie bist du zufrieden
Welche Daten lassen sich den Auslesen

Gruß
Extraem

Elektrolurch

Hallo,

ich habe: WTC-G
WCM-SOL
Die Gastherme macht einen recht soliden Eindruck. Man sollte allerdings auf alle Fälle eine feste Installation mit Pumpe für das Kondensat vorsehen.
Auslesen über das Wcmcom lassen sich alle Prozesswerte für die Therme und die Heizkreise. Einstellen div. Programme für die Heizkreise und Zirkulationspumpe.
Mit dem Solar bin ich rechts zufrieden. Wir haben SW - Ausrichtung und 12 qm auf dem Dach. Seit Oktober wurden ca. 130 kWh an Zusatzwärme erzeugt.
Sogar am 21.12. gab es noch bei niedrigstem Sonnenstand 5,5 kWh.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

gibacht

Hallo,

ich habe jetzt ebenfalls eine Weishaupt-Anlage und interesse mich auch für die Anbindung per FHEM.
Welches Modul, Home oder Expert verwendet ihr? So wie ich das gelesen habe, ist bei der Expertvariante die Zählerauswertung mit dabei. Ist das evtl. nur ein Unterschied in der Software, die man eh nicht braucht oder in der Hardware?

Veröffentlicht doch bitte einmal euren Code.

Gruß Dirk





HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

Elektrolurch

Hallo Dirk,

ich verwende das wcmcom Home - Modul. Es reicht, um alle Daten aus der Anlage auszulesen und die wichtigsten Parameter seitens fhem zu steuern, wie z.B. "Vorlauftemperatur in Abhängigkeit des Heizungsbedarfs der einzelenen Räume" statt durch Außentemperatur.

Ich habe ein Modul programmiert, welche für eine Gastherme und eine Solaranlage + 2 Heizkreise (Zz, WW) die Daten ausliest, visualisiert und Sttistiken macht.
Es gibt aber noch mehr Komponenten, die die Wcmcom bedienen kann, die ich aber nicht habe. Daher ist mein Modul nur ein erster Anstatz und decktdie Konfiguration meiner Anlage ab.

Gruß


Elektrolurch
configDB und Windows befreite Zone!

gibacht

Hallo Elektrolurch,

anscheinend muß ich Profileinstellungen überarbeiten, da ich keine Benachrichtigung über Deine Info bekommen habe.
Daher melde ich mich erst jetzt. Die Heizung (ohne Solaranlage) läuft auch gerade erst 2 Tage und werde mir dann auch das Home-Modul besorgen. Das mit der Vorlauftemperatur und den Statistiken ist sehr interessant. Ich wäre Dir sehr dankbar, wenn Du mir Dein Modul einmal zeigen könntest. Meine Perl-Kenntnisse sind, naja sagen wir mal, so 'lalala'. Aber mit einer Grundlage überhaupt an die Daten zu kommen, sollte das wohl klappen und vielleicht kann ich dann auch noch die ein oder andere Funktion beisteuern.

Gruß
Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

Elektrolurch

Hallo,

ist es eine Gastherme?
Es gibt ein Modul, mit dem ich die Werte periodisch auslese und setze.
Und in einer zweiten 99_myUtilsSolar.pm ist dann u.a. die Steuerung der Vorlauftemperatur über die Raumthermostate.
Das dann anzupassen dürfte (bei nur geringen perl-Kenntnissen) schon eine gewisse Herausforderung darstellen.
Der Clou bei der VTK - Steuerung ist, die Vorlauftemperatur nicht zu schnell hochzufahren, wenn z.B. der Raum 3 Grad Differenz meldet. An der Strategie feile ich seit Januar herum und bin gespannt, ob die im nächsten Winter auch alle Situationen vernünftig abdecken wird ohne das es WAF wg. zu kaltem Wohnzimmer gibt.

Das WCMCOM Home hat einen Passwortschutz. Da ich das derzeit noch nicht in meinem Modul berücksictige, muss man den beim WCMCOM ausschalten und das Gerät muss eine feste IP im Netz haben.

Gruß


Elektrolurch
configDB und Windows befreite Zone!

gibacht

Hallo,

nunja, ich bewege mich auch beruflich im IT-Sektor und war auch mal Techniker. Programmierer bin ich nicht, jedoch sind einige Kenntnisse aus unterschiedlichen Bereichen vorhanden. Ich habe daher auch mal meine Signatur angepasst ;-). Einige Sachen laufen ...und ich bin wirklich ehrgeizig. Lass doch einfach mal sehen. Veröffentlicht hast Du ja - soweit ich es sehe - noch nichts.

Danke!

Gruß Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

gibacht

Zitat von: gibacht am 10 September 2014, 14:55:21
Hallo,

nunja, ich bewege mich auch beruflich im IT-Sektor und war auch mal Techniker. Programmierer bin ich nicht, jedoch sind einige Kenntnisse aus unterschiedlichen Bereichen vorhanden. Ich habe daher auch mal meine Signatur angepasst ;-). Einige Sachen laufen ...und ich bin wirklich ehrgeizig. Lass doch einfach mal sehen. Veröffentlicht hast Du ja - soweit ich es sehe - noch nichts.

Danke!

Gruß Dirk

und, ja es ist eine Gastherme
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

Elektrolurch

Hallo,

auf Wunsch habe ich jetzt mein Modul, nebst dem Kram drum rum für die Anzeige und Steuerung der HzAnlage oben an den ersten Beitrag angehängt und auch dort die Erklärungen eingefügt.
Als Neuling von fhem und perl sollte man sich nicht abschrecken lassen, nur Geduld und Stück für Stück.
Und viel Erfolg, hoffe es ist Dir nützlich.

Gruß


Elektrolurch
configDB und Windows befreite Zone!

gibacht

Hallo,

vielen Dank! Werde es mir heute Abend ansehen.

VG Dirk
HMLAN, TVserver Headless YAVDR mit LMS und FHEM, Rasperry PI Openelec als Clients.

rabbit02

Hallo,

bin Fhem-Neuling und sehr begeistert.
Danke an alle Mitwirkenden. Habe auch eine Weishaupt-Heizung mit WCM-COM und nutze die
Module von Elektrolurch. (Super, genau was ich gesucht habe!)

Gibt es dazu Updates und nähere Beschreibungen?

Gruß

Holger




Elektrolurch

Hallo,

leider hatte ich bislang keine Zeit, eine Doku dafür zu erstellen. War auch mein erstes Modul und an dem habe ich mir wegen der Codierung der Infos in der Hz die Zähne ausgebissen.
Wahrscheinlich habe ich noch einige Kleinigkeiten geändert und verbessert. Mittlerweile auch die Thermostate eingebunden, um damit die Vorlauftemperatur der Hz zu steuern.
Die GUI für die Hz und die Solaranlage etwas bunter gemacht und man kann die Ansicht zwischen Fachmann und Normal umschalten.
Da ich hier im Forum bislang der Einzige war, der eine Weisshaupt hat, habe ich die SW erst einmal für mich gemacht....

Wenn also konkrete Fragen bestehen... beantworte ich gerne.

Elektrolurch
configDB und Windows befreite Zone!

rabbit02

Hallo Elektrolurch,

schön dass ich das Thema nochmal "auftauen" konnte.
Scheint nicht die Masse an Weishaupt WCM-COM Nutzer zu geben.
Konnte mit Deinem Modul meiner Heizung schon nützliche Daten entlocken.
Kannst Du die neue Version ins Forum stellen?
Möchte mich in die Programmierung einarbeiten. Meine Zeiten mit Perl liegen schon einige
Jahre zurück.

Bin auch derzeit von den Möglichkeiten von Fhem etwas erschlagen.

Vielen Dank!

Gruß

Holger

Elektrolurch

Okay, habe die Beschreibung im Beitrag 1 ergänzt um den aktuellen Stand und die drei Dateien aktualisiert.
Da gibt es jetzt auch schöne rgs für die 'Anzeige....

Vorsicht! Da können noch einige Aufrufe an externe perl-Routinen drin sein, die nicht im Paket enthalten sind:

Aktivmon(''ALARM','text');
schreibt ein eigenes "Aktivitätenlog und versendet ev. Maisl.
Einfach als dummy-Rounite in der 99_myUtils definieren.

RefreshScreen(rg)
ist derzeit auch nur experimentell drin, soll den Bildschirm bei Modify der rg neu aufbauen. Manuell Drücken der F5 - Taste macht das selbe im Browser.
Elektrolurch

configDB und Windows befreite Zone!

bugware

Hallo zusammen,

zunächst einmal vielen Dank für die tolle Arbeit an Elektrolurch! Ich habe zwar kein Solarmodul, aber den Brenner kann ich prima auslesen. Nun habe ich gleich mehrere Fragen:
a) gibt es evtl. Updates?
b) konkreter: in 99_myUtilsHeizung.pm wird ein BRENNERFILE, quasi als Log erzeugt. Kann ich dieses einfach auskommentieren? Ich würde statt dessen einen normalen FileLog in FHEM erstellen.
c) Wenn ich jetzt was im SourceCode ändere, wie kann ich dann später updates einpflegen ohne meine Änderungen zu verlieren?
d) Ich würde gerne über FHEM die Warmwasser-Zirkulationspumpe ein- und ausschalten können. Im Moment fällt mir hierzu allerdings nur ein, dass man den Zeitplan der Pumpe anpasst. Einen direkten Schalter scheint es, jedenfalls bei mir, nicht zu geben. Hat evtl. jemand bereits die Definitionen wie die Heiz- und Pumpprogramme aus dem WCM-COM gelesen werden können? Oder gibt es eine bessere Lösung?

Vielen Dank und schon mal ein schönes WE,
Andy.
RPi 2, nanoCUL433, nanoCUL868-HM, SIGNALduino, HM, IT, SOMFY, Weishaupt-Mod, BOTVAC, MYSENSORS

bugware

Hallo nochmal,

noch eine Frage. Kann es sein, dass sich folgende Telegramme $HzTelegrams{2}[0] gegenseitig überschreiben? Müsste man HzTelegrams nicht noch um den "Index" (bin kein PERL-Experte) MODUL erweitern in dem sich die beiden unterscheiden (einmal 6, einmal 10)?

# HK1_P
$HzWerte{'Hk1-Soll-Temp-System'} = {'READING' => 'Hk1-Soll-Temp-System', 'UNIT' => '°C', 'MODUL' => '6', 'BUS' => '0', 'ValueID' => 'idT0002', 'TELEGRAMID' => '2', 'TELEGRAM' => '[6,0,1,2,0,0,0,0]', 'ACCESS' => 'read','MIN' => '0', 'MAX' => '999', 'MUL' => '1', 'DIV' => '10', 'STEP' => '1', 'METHOD' => 'METH_TEMP'};
$HzDevices{'HK1_P'}{READINGS}{'Hk1-Soll-Temp-System'} = $HzWerte{'Hk1-Soll-Temp-System'};
$HzTelegrams{2}[0] =  $HzWerte{'Hk1-Soll-Temp-System'};


# GAS_P
$HzWerte{'Wärmeanforderung'} = {'READING' => 'Wärmeanforderung', 'UNIT' => '°C', 'MODUL' => '10', 'BUS' => '0', 'ValueID' => 'idT0002', 'TELEGRAMID' => '2', 'TELEGRAM' => '[10,0,1,2,0,0,0,0]', 'ACCESS' => 'read','MIN' => '-30', 'MAX' => '130', 'MUL' => '1', 'DIV' => '10', 'STEP' => '10', 'METHOD' => 'METH_TEMP2'};
$HzDevices{'GAS_P'}{READINGS}{'Wärmeanforderung'} = $HzWerte{'Wärmeanforderung'};
$HzTelegrams{2}[0] =  $HzWerte{'Wärmeanforderung'};


Beste Grüße,
Andy.
RPi 2, nanoCUL433, nanoCUL868-HM, SIGNALduino, HM, IT, SOMFY, Weishaupt-Mod, BOTVAC, MYSENSORS

Elektrolurch

Hallo Andy,

zuerst einmal zu Deinem letzten Post:

Darüber bin ich auch gestolpert. Wärmeanforderung und HK1-System-Soll
scheinen gem. dem Java-Code des Wcmcom das gleiche zu sein. Nachdem ich eine Zeitlang mir die Werte der Anlage angesehen habe, bin ich zu dem Schluß gekommen, dass sie wenig aussagekräftig sind.
Aber vielleicht habe ich da auch etwas übersehen.
Der Wert "Wärmeanforderung" taucht meines Wissens ja auch nur auf der Eingangsseite auf und nicht mehr bei den Heizkreisen.

Zitat:
a) gibt es evtl. Updates?
A bisserl was habe ich geändert, aber nichts von Bedeutung. In der Steuerung der Vorlauf-Temp (sub Vorlauftempkontrolle) und bei der Darstellung in den readingsGroups.
Steht im Beitrag 1.
b) konkreter: in 99_myUtilsHeizung.pm wird ein BRENNERFILE, quasi als Log erzeugt. Kann ich dieses einfach auskommentieren? Ich würde statt dessen einen normalen FileLog in FHEM erstellen.

Kein Problem. Ich habe das File für die Entwicklung des Moduls gebraucht. Zum Beispiel, um zu testen, ob die Berechnung des Gasverbrauches stimmt. Mittlerweile fast 100 % so wie der Gaszähler das anzeigt.

c) Wenn ich jetzt was im SourceCode ändere, wie kann ich dann später updates einpflegen ohne meine Änderungen zu verlieren?

Stellen markieren und später mit dem linux-Kommand "diff" die beiden Dateien vergleichen.
Aber derzeit habe ich nichts Neues mehr geplant, da das Wcmcom-Modul einwandfrei und ziemlich störungsresistent läuft. Das Einzige, was ich noch machen muss, ist die Nutzung des Wcmcom über user / passwd. Der Code steht quasi zwar schon drin, ist aber noch nicht aktiviert. Ich glaube, das ich die Stellen derzeit einfach auskommentiert habe.
Ist irgendwas mit "token"....


d) Ich würde gerne über FHEM die Warmwasser-Zirkulationspumpe ein- und ausschalten können. Im Moment fällt mir hierzu allerdings nur ein, dass man den Zeitplan der Pumpe anpasst. Einen direkten Schalter scheint es, jedenfalls bei mir, nicht zu geben. Hat evtl. jemand bereits die Definitionen wie die Heiz- und Pumpprogramme aus dem WCM-COM gelesen werden können? Oder gibt es eine bessere Lösung?


O ja, das würde ich auch, da die Pumpe meist läuft, wenn ich sie sowieso nicht brauche. Aber da scheint es wirklich nichts an der Oberfläche oder in dem Modul zu geben.

Die Hz-Umlaufpumpe schalte ich ja mit Hk2-Betriebsart = Sommer aus, das funktioniert einwandfrei.

Ab dem 1.5. setze ich per fhem alle Thermostate auf "off" und dann sieht die Routine sub Vorlauftempkontrolle, dass es keine Wärmeanforderung gibt und setzt die Hz auf Sommer.
Drehe ich ein Thermostat, z.B. im Keller, wieder auf, geht auch die Hz automatisch wieder an.

Ich hatte mal in die Web-Seite auf der Wcmcom für die Zeitprogrammierung der WW-Pumpe reingeschaut, die erschien etwas anders aufgebaut. Vielleicht auch wegen der vielen Felder. Da muss man die IDs sich merken und dann im Java-Code die Codierung der Werte verstehen.
Das war die ganze Crux um das Wcmcom sich zum "Sklaven" zu machen.  :-)

Gruß


Elektrolurch
configDB und Windows befreite Zone!

bugware

Hallo Elektrolurch,

eine Magen-Darm-Grippe später, will ich kurz antworten.

Zu Wärmeanforderung und HK1-System-Soll:
Bei mir sind da unterschiedliche Werte hinter (5 und 8°C). Also im Prinzip quasi gleich. Allerdings hat die Doppelbelegung in FHEM mal den einen, mal den anderen Wert angezeigt und jedesmal auch einen Logeintrag gemacht. Hab es jetzt wie oben angedeutet unterschieden indem Modul und Bus als Index genutzt werden.

zu b)
Ok, also raus damit bei mir ;o)

zu d)
Also, das Auslesen der Zeitprogramme habe ich hinbekommen und die Bedeutung der Werte konnte ich auch nachvollziehen. Sind natürlich ziemlich viele Werte, so dass ich ein eigenes Device dafür angelegt habe. Als nächstes werde ich versuchen noch eine Logikebene darüber zu implementieren, die durch vorübergehendes verändern des Programms die Zirkulationspumpe für z.B. 15 Minuten einschaltet. Das könnte man dann später per Taster, z.B. neben der Dusche oder so, auslösen.

Dazu zwei Fragen:
1) Sehe ich das richtig, dass Updates der devices über die Timer erfolgen sollen und das nicht alle Devices automatisch aktualisiert werden sollen? Wenn ich die Zeitprogramme automatisch aktualisieren wollte müsste ich also z.B. in Wcmcom_GetValues($hash,'HK1_ZP',0); in sub Wcmcom_HKDaten($) ergänzen, oder?
Wie kann man das Update manuel auslösen?

2) Bei der angesprochenen Logik bin ich mir unsicher, ob man dass besser in dem Heizungsscript macht, oder ob man das eher mit FHEM-elementen macht, dummys, notifies usw., die dann Befehle wie set Hk1-ZP-ZP-Mo-1-Start 06:00 auslösen. Da ich noch neu in FHEM bin, habe ich davon noch keine Ahnung. Oder soll ich es ähnlich anlegen, wie die Befehle, die du z.B. zur Berechnung des Gasverbrauchs angelegt hast? Was wäre wohl besser? Mal sehen...

Beste Grüße,
Andy.
RPi 2, nanoCUL433, nanoCUL868-HM, SIGNALduino, HM, IT, SOMFY, Weishaupt-Mod, BOTVAC, MYSENSORS

Elektrolurch

Hallo Andy,

schön, dass da noch jemand mit Weisshaupt seine Zeit verbringt. :D
Für mich war das auch sozusagen mein Erstlingswerk und ich habe da relativ viel reingepackt, was vermutlich gar nicht in ein Modul sollte, wie z.B. die Sache mit dem Gasverbrauch.
Auf der anderen Seite hat es mich aber auch gejuckt, was intelligentes zu bauen und perl war damals für mich auch neu.
(Bin mit Assembler, Fortran V und C groß geworden)

So nun zu Deinen Fragen:
Zitat:
zu d)
Also, das Auslesen der Zeitprogramme habe ich hinbekommen und die Bedeutung der Werte konnte ich auch nachvollziehen. Sind natürlich ziemlich viele Werte, so dass ich ein eigenes Device dafür angelegt habe. Als nächstes werde ich versuchen noch eine Logikebene darüber zu implementieren, die durch vorübergehendes verändern des Programms die Zirkulationspumpe für z.B. 15 Minuten einschaltet. Das könnte man dann später per Taster, z.B. neben der Dusche oder so, auslösen.


Ich habe das leider erst später mit den Submodulen, wie z.B. in dem netachmo-Modul gesehen. Im Prinzip könnte man das für die Weisshaupt-Komponenten auch so aufbauen. Da ich bislang der Einzige war und das Teil läuft,  habe ich aber dann andere Sachen gemacht.

Für die ZP sollte es m.M.n. drei Dinge geben:

set HzAnlage ZP ein|aus
get HzAnlage ZP
und ein reading, welches den aktuellen Zustand der ZP wiedergibt (d.h. wenn das Zeitprogramm die ZP einschaltet, so sollte über das reading auch ein Event generiert werden können)

Zitat
Dazu zwei Fragen:
1) Sehe ich das richtig, dass Updates der devices über die Timer erfolgen sollen und das nicht alle Devices automatisch aktualisiert werden sollen? Wenn ich die Zeitprogramme automatisch aktualisieren wollte müsste ich also z.B. in
Code: [Auswählen]
Wcmcom_GetValues($hash,'HK1_ZP',0);
in
Code: [Auswählen]
sub Wcmcom_HKDaten($)
ergänzen, oder?

Ja. Das Konstrukt ist etwas unglücklich, da ich nicht wusste, dass dem InternalTimer
man "beliebbiges" mitgeben kann. Ich bin davon ausgeganben, dass der $hash zwingend erforderlich ist. Das was da übergeben werden kann, dient eigentlich nur dazu, den gesetzten InternalTimer wiederzufinden.

Den Zustand der Gasanlage hole ich alle 60 Sekunden, damit die Verbrauchmessung auch stimmt. Der regelt ja den Gasstrom rauf und runter und den Wert brauche ich ja, um den exakten Verbrauch zu bestimmen.

Für die Solaranlage wird das alle 20 Minuten ausgelesen, wenn sie nicht läuft, bei Energiegewinnung alle 5 Minuten.
Und die anderen Werte hole ich nur gelegentlich ab, bzw. wenn es sich um Einstellungen (GAS-F, SOL_F usw handelt) nicht zeitgesteuert, da diese Werte ja nur an der HzAnlage oder über die Weboberfläche des Wcmcom geändert werden können.
Zitat:
kann man das Update manuel auslösen?

Sollte eigentlich ja mit dem Wcmcom_GetValues (??? ich habe gerade den Code nicht greifbar)  gehen. Die startet einen non-blocking Call an das Wcmcom.
Über den nonblocking Call wird eine Routine mitgegeben, die vom nonblocking aufgerufen wird, wenn die Daten dann da sind.
Da müsstest Du dann verzweigen, damit die Werte ev. sinnvoll weiterverarbeitet werden.
(Das sind bei mir so Routinen, wie Wcmcom_Brennerdaten, Wcmcom_Solardaten).

Wie man readings setzt, findest Du ziemlich weit unten in der Wcmcom_set - Routine.  Da frage ich bspw. auch gegen die Bereichsgrenzen für Werte ab, wie ich sie aus der Wcmcom in dem jafa-zeugs gefunden habe und in dem großen internen hash für die Datenkonvertierung / Beschreibung hinterlegt habe.
Die hatte ich ursprünglich in externen Dateien hinterlegt und bei Modulstart eingelesen. Solche Init-Dateien sind aber seitens der fhem-Gurus nicht so erwünscht gewesen.

Zitat:
Bei der angesprochenen Logik bin ich mir unsicher, ob man dass besser in dem Heizungsscript macht, oder ob man das eher mit FHEM-elementen macht, dummys, notifies usw., die dann Befehle wie
Code: [Auswählen]
set Hk1-ZP-ZP-Mo-1-Start 06:00
auslösen. Da ich noch neu in FHEM bin, habe ich davon noch keine Ahnung. Oder soll ich es ähnlich anlegen, wie die Befehle, die du z.B. zur Berechnung des Gasverbrauchs angelegt hast? Was wäre wohl besser? Mal sehen...


Tja. Das Einschalten der ZP ist ja standardmässig nicht vorgesehen. Dafür aber einen set-Befehl zu haben, ist meiner Meinung nach eleganter, da kompakt im Modul drin.
Das war auch die Überlegung beim Gasverbrauch. Ich denke, dass da niemand einen eigenen Algorythmus für schreiben möchte... und externe notifys dafür baut.
Die reine fhem-Lehre sagt allerdings eher so was: Das Modul liefert readings, die aus einer Hardware kommen. Alles was abgeleitet wird, ist extern zu machen.

Ich habe ja schon ziemlcih viel extern in der sub HzAnlage_not, weil da dann Dinge noch von anderen, außen liegenden devices (z.B. Wetter und Meßfühler) abhängig sind.
Das war für mich das Kriterium für eine Trennung des Codes.

Elektrolurch
configDB und Windows befreite Zone!

uli69

Hallo Elektrolurch,

danke schon mal für deine Arbeit. Wenn ich die Authentifizierung in der WCM-Home einschalte funktioniert der Zugriff leider nicht. Ich habe in der Benutzerverwaltung einen User fhem als "Benutzer" mit passwort angelegt.

In der habe ich dann noch folgende Einträge:
define HzAnlage Wcmcom hostname=heizung username=fhem passwd=xxxxx secret="Please enter Username and Password!"
attr HzAnlage passwd Wqpmu4Ma
attr HzAnlage secret Please enter Username and Password!

Habe ich da noch einen falschen Eintrag oder gibt es da noch irgendwo einen Bug?

Und vielleicht als Anregung für weitere Erweiterungen, eventuell könnte man die Config noch so aufteilen, dass man sich die einzelnen Module (Gas, Heizkreis 1, Heizkreis 2 ...) z.B. per include zusammenstellen könnte, ich habe z.B. kein Solarmodul und auch nur einen Heizkreis.

Uli

Elektrolurch

Hallo Ulli,

Zitat:
danke schon mal für deine Arbeit. Wenn ich die Authentifizierung in der WCM-Home einschalte funktioniert der Zugriff leider nicht. Ich habe in der Benutzerverwaltung einen User fhem als "Benutzer" mit passwort angelegt.

In der habe ich dann noch folgende Einträge:
define HzAnlage Wcmcom hostname=heizung username=fhem passwd=xxxxx secret="Please enter Username and Password!"
attr HzAnlage passwd Wqpmu4Ma
attr HzAnlage secret Please enter Username and Password!

Habe ich da noch einen falschen Eintrag oder gibt es da noch irgendwo einen Bug?

Nein. Ich habe das noch nicht implementiert. Ich muss mal die Zeit finden, mir das für nonblocking - Calls mit Auth anzusehen. Steht bei mir auf der todo - Liste.

Zitat:
Und vielleicht als Anregung für weitere Erweiterungen, eventuell könnte man die Config noch so aufteilen, dass man sich die einzelnen Module (Gas, Heizkreis 1, Heizkreis 2 ...) z.B. per include zusammenstellen könnte, ich habe z.B. kein Solarmodul und auch nur einen Heizkreis.

Es gibt da bei fhem wohl so ein Konzept für Sub-Module. Leider aber nirgends dokumentiert :-)
Derzeit kann man nur per Attribut die Module auswählen, die man haben möchte, damit die Zahl der readings nicht zu groß wird.
Ich habe diesbezüglich auch nichts weiter entwickelt, da es  wohl wenig Weisshaupt - Nutzer gibt und die anderen Module, die eine Weisshaupt-Anlage noch hat, ich nicht testen kann.
Heute, nach 1,5 Jahren perl - Erfahrung, würde ich ev. manches etwas anders "hinschreiben"...
Gruß

Elektrolurch

configDB und Windows befreite Zone!

uli69

Zitat[Nein. Ich habe das noch nicht implementiert. Ich muss mal die Zeit finden, mir das für nonblocking - Calls mit Auth anzusehen. Steht bei mir auf der todo - Liste.
Ich will mich die nächsten Wochen mal intensiver mit FHEM beschäftigen. Mal schauen, ob ich da am Wochenende was finde.

uli69

WCM-Home verwendet Digest Authentifzierung. Soweit ich das bisher überblicke scheint HttpUtils.pm aber nur Basic Authentification zu unterstützen.

uli69

So, ich habe anstatt UtilsHttp jetzt mit LWP die Digest-Authentifizierung hinbekommen. Bei mir erweckt es den Anschein, das es funktioniert  ;). Die Unterscheidung blocking und nonblocking konnte ich nicht so richtig nachvollziehen, in UtilsHttp wird zwar non-blocking IO verwendet aber da dann doch immer auf eine Rückantwort gewartet wird machte das IMHO nicht so wirklich Sinn. Ich habe deswegen auch nur den Blocking-IO Teil portiert und non-blocking auf Blocking umgestellt.

Damit man die Änderungen besser sieht habe ich zudem zwei Patches angehängt, der Patch format.patch ist erst mal nur der Durchlauf durch einen Perl-Formatter, auth.patch enthält dann die wirklichen Änderungen.


jetexman

Hallo Elektrolurch,
vielen Dank schon mal für die Weishaupt-FHEM-Pionierarbeit...
Habe mittlerweile auch eine Weishaupt Gastherme und möchte eine ähnliche Regelung wie du umsetzen.

Welche Heizkörperthermostate verwendest du denn, die dir die Ventilstellung zurückmelden?
Ich habe die homematic-ventile und hoffe, dass es damit auch umsetzbar ist.

Gruß
Philipp


Elektrolurch

Hallo Philipp,

die Heizungsanlage (Weisshaupt) und die Heizkörperthermostate haben ja zunächst wenig miteinander zu tun.
Ich habe die FHT. Für die Steuerung der Heizungsanlage (Vorlauftemperatur, Umschaltung Betriebsart) werte ich bei den Thermostaten folgende readings aus:

actuator: Ventilstellung in %
desired-temp: Soll-Temperatur
measured-temp: Ist-Temperatur

Wie die entspechenden readings bei Homematik aussehen, weiß ich nicht.
Eine sub "Vorlaufgtempkontrolle" rufe ich periodisch auf und stelle über sie fest, wie der aktuelle Heizbedarf ist
Derzeit haben wir gerade 11 Grad Außentemperatur und Sonneneinstrahlung auf die Fassade, so dass die Steuerung die Heizung auf "Sommerbetrieb" im Heizkreis gestellt hat.
Elektrolurch

configDB und Windows befreite Zone!

extraem

Hallo

Ich habe das 99_myUtilsHeizung.pm jetzt auch im Einsatz (ja hat lange gedauert)
Ich würde damit auch gerne den Gasverbrauch berechnen lassen aber ich komme nicht weiter da immer wenn ich Gas-End eingeben will kommt eine Meldung wegen dem Solar -- ich habe aber kein Solar und auch keinen zweiten Heizkreis

Kann mir jemand sagen wie ich das 99_myUtilsHeizung.pm ans laufen bekomme ohne Solar und ohne dem zweiten Heizkreis (ich habe leider keine Ahnung von Perl)

Danke
Franz

stgeran

Mal eine ganz unbedarfte Frage: Ich habe eine WTC 25 und eine WCM-FB die mit einem Kabel mit der Therme verbunden ist. Was müsste noch wo eingebaut werden, um das Modul zu nützen?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

Elektrolurch

Zitat:
Mal eine ganz unbedarfte Frage: Ich habe eine WTC 25 und eine WCM-FB die mit einem Kabel mit der Therme verbunden ist. Was müsste noch wo eingebaut werden, um das Modul zu nützen?

Was ist "WCM-FB"?
Ist das das Web-Interfache für die Anlage? Mein Modul spricht über eine IP-Adresse mit dem Webinterface  WCM.

Elektrolurch
configDB und Windows befreite Zone!

stgeran

eine WCM-FB die mit einem Kabel mit der Therme verbunden ist.
Das ist eine Fernbedienung mit einem Kabel. Ich dachte, das sei klar. Ihr arbeitet ja auch mit Abkürzungen wie z.B. WCM.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

extraem


Elektrolurch

Zitat:
eine WCM-FB die mit einem Kabel mit der Therme verbunden ist.
Das ist eine Fernbedienung mit einem Kabel. Ich dachte, das sei klar. Ihr arbeitet ja auch mit Abkürzungen wie z.B. WCM.

Da ich das Webinterface habe, habe ich mir das eingebaute TTeil der Therme nie angesehen. Wusste nicht, dass das mit einem Kabel als "Fernbedienung" zält. Sorry bezüglich meiner Unkenntnis.
configDB und Windows befreite Zone!

stgeran

@Elektrolurch: Ist OK. Die FB sitzt im Wohnzimmer mit 2 Drähten zur Heizung. Muss ich überlegen, ob sich das Webinterface lohnt.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

duffy6

Angeblich kann man ja auch direkt den ebus auslesen (mit einem (zweiten) Raspi).

Allerdings scheint das noch in den Kinderschuhen zu stecken, da Weishaupt das Protokoll nicht offen legt.
http://www.fhemwiki.de/wiki/EBUS


Der Weg über die WCM-COM ist sicherlich (derzeit) der zuverlässigere und nervenschonendere.

bastilyk

Hallo liebe FHEM und Weishaupt Nutzer,

bin noch ganz frisch im Thema FHEM, habe eine Weishaupt Anlage mit WTC15, WTC-SOL für die Brauchwassererwärmung und ein WCM-COM Modul (übrigens auch besagte "WCM-FB").
Mit Franz teile ich dass Problem (noch) keinen Schimmer von Perl zu haben. Folgendes würde ich gerne erreichen und wäre um jeden guten Tipp dankbar um einen Einstieg zu finden:

1) Das Modul für nur einen Heizkreis (statt 2) und Solar anpassen. Muss ich einfach bestimmte Passagen auskommentieren? Wenn ja: Wie finde ich diese?
2) Ich möchte lediglich die Daten aus dem WCM-COM auslesen, in FHEM darstellen und ggf. einfache Dinge in der Benutzerebene steuern (Anwesenheit setzen, Heizprogramm ändern). Erweiterte Steuerungsaufgaben (z.B. Vorlauftemperatursteuerung) werden nicht benötigt, da derzeit noch keine Thermostate vorhanden die ich in FHEM einbinden könnte.

Da ich die Perl-Skripte leider nicht nachvollziehen kann ist mir ein bisschen mulmig dabei "blind" ein Modul und die Konfigdatei zu laden und auf meine Heizung loszulassen,
es handelt sich ja nicht um ein paar Steckdosen oder Rolladenaktoren bei denen eine Fehlkonfiguration zu nichts dramatischem führt (außer dass es im Haus vllt. dauerhaft dunkel ist  :P).

Besten Dank schonmal

Elektrolurch

Hallo,

1. ohne Deine Interaktion wird das Modul zunächst einmal nur Werte lesen und nichts an Deiner Hz verstellen.
2. Wie und was das Modul auslesen soll, wird über Attribute definiert.
Hier z.B. die Attribute meiner Anlage:

Kollektor-Neigung 45
Kollektor-Richtung 225
KollektorLog 1
alias Heizung
devStateIcon HZ

# Gas ist Gasbrenner, Sol = Solaranlage, P = Prozess, F = Fachmann für Einstellungen
# so wie das auf der Web-Oberfläche der WCMCOM auch angezeigt wird.
# Hk1 und Hk2 sind Heizkreis und WW-Kreis, Du wirst also sicher  somit auch zwei Kreise haben.

devices GAS_F GAS_P HK1_P HK2_B HK2_P SOL_F SOL_P USER
disable 0
event-on-change-reading .*
group Weisshaupt
hostname 192.168.1.19

# Die Zeiten, wie häufig die Werte gelesen werden

refresh-GAS 60
refresh-HK 1880
refresh-SOL 600
refresh-USER 600
room Heizung
setList Hk2-Betriebsart:Normal,Absenk,Sommer,Standby
# Derzeit unterstütze ich noch keinen login auf der WCMCOM mit username / Passwort. Daher muss auf der WCMCOM die Authentifizierung ausgeschaltet werden.
# Weiter oben steht was dazu in einem Post.... aber das geht leider nicht so ganz trivial.
username fhem

# Level der Fehlerausgabe
verbose 1

# Hk2 ist bei mir der Heikreis. Somit wird die Hz mit Icon und einem Menü angezeigt, mit dem man den Heizkreis umschalten kann.

webCmd Hk2-Betriebsart

Gruß

Elektrolurch
configDB und Windows befreite Zone!

bastilyk

Hallo Elektrolurch,

als erstes Danke für Antwort 1, das machte Mut  8)

Ich habe in der Tat nur einen HK im WCM-COM (möglicherweise ist unsere Anlagenkonfiguration etwas unterschiedlich) habe aber die defines aus deiner 00_utils_Solar entsprechend angepasst, sprich HK2 einfach nich berücksichtigt.

Zum Thema Authentifizierung:
Ich habe die Modifzierte 99_myUtilsHeizung von Uli verwendet und die Authentifizierung mit Benutzer/Passwort läuft prima.
Hierzu habe ich im WCM-COM einen user "fhem" mit Passwort in der Gruppe "Fachmann" angelegt.
Attribute für HzAnlage:
username fhem
passwd "meinpasswort"

Als nächstes werde ich mich mit den readingsgroups usw. beschäftigen.

An dieser Stelle also besten Dank nochmal an Elektrolurch und Uli für die tolle Arbeit.

bastilyk

Habe inzwischen auch die Readingsgroups eingebaut und angepasst, da ich in der Tat nur einen Heizkreis habe, keine zwei.

Nun habe ich sehr häufig folgende Einträg im FHEM Log (Verbose=1), oft auch direkt hintereinander:

2016.02.24 21:56:22 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.24 21:59:17 3: HzAnlage_not return value: Undefined subroutine &main::AktivMon called at ./FHEM/99_myUtilsSolar.pm line 718.

Die Bedeutung ist mit aber unklar: Habe ich ein Problem oder ist das rein informativ?

In Zeile 718 (AktivMon...) bzw. drum herum steht folgendes:

{
my $temppufferoben = ReadingsVal($name,'Temp-Puffer-oben',0);
my $temppufferunten = ReadingsVal($name,'Temp-Puffer-unten',0);
my $tempsolarunten = ReadingsVal($name,'Temp-Solar-unten',0);
AktivMon('INFO',"$name $rd $val Temp. Puffer oben: $temppufferoben °C mitte: $temppufferunten °C unten: $tempsolarunten °C");
if($val eq 'ein')

Mir ist aufgefallen dass die beiden Werte Temp-Puffer-oben und Temp-Puffer-Unten in meinem WCMCOM als N/V angezeigt werden was hier ggf. zum Problem führt?


Noch eine Information am Rande: Es gibt eine aktualisierte Firmware für das WCMCOM Home. Version 376-06 B

Wünsche erst mal einen schönen Abend


bastilyk

OK, Kommando zurück. Wer lesen kann ist klar im Vorteil.  :-X
Wie bereits weiter oben im Thread beschrieben habe ich die Sub AktivMon als Dummy-Routine definiert.
Zitat
Vorsicht! Da können noch einige Aufrufe an externe perl-Routinen drin sein, die nicht im Paket enthalten sind:

Aktivmon(''ALARM','text');
schreibt ein eigenes "Aktivitätenlog und versendet ev. Maisl.
Einfach als dummy-Rounite in der 99_myUtils definieren.

Bleibt nur noch die Frage nach diesen Einträgen:
Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting

Elektrolurch

Zitat:
Habe inzwischen auch die Readingsgroups eingebaut und angepasst, da ich in der Tat nur einen Heizkreis habe, keine zwei.


Wie das? Gibt es bei Dir kein warmes Wasser? Das bildet die WCMCOM als KH2 ab.

Zitat:
Nun habe ich sehr häufig folgende Einträg im FHEM Log (Verbose=1), oft auch direkt hintereinander:
Code: [Auswählen]
2016.02.24 21:56:22 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting

Das heißt, das die WCMCOM die Anfrage nicht beantwortet hat. Das passiert bei mir so einmal je Tag, häufiger aber nicht. Vielleicht doch HK2 nicht vorhanden?
Kann man alles über
attr HzAnlage devices ....
einstellen, was da gelesen werden soll.

Zitat:
2016.02.24 21:59:17 3: HzAnlage_not return value: Undefined subroutine &main::AktivMon called at ./FHEM/99_myUtilsSolar.pm line 718.
Die Bedeutung ist mit aber unklar: Habe ich ein Problem oder ist das rein informativ?
geklärt.

Zitat:
In Zeile 718 (AktivMon...) bzw. drum herum steht folgendes:
Code: [Auswählen]
{
my $temppufferoben = ReadingsVal($name,'Temp-Puffer-oben',0);
my $temppufferunten = ReadingsVal($name,'Temp-Puffer-unten',0);
my $tempsolarunten = ReadingsVal($name,'Temp-Solar-unten',0);
AktivMon('INFO',"$name $rd $val Temp. Puffer oben: $temppufferoben °C mitte: $temppufferunten °C unten: $tempsolarunten °C");
if($val eq 'ein')
Mir ist aufgefallen dass die beiden Werte Temp-Puffer-oben und Temp-Puffer-Unten in meinem WCMCOM als N/V angezeigt werden was hier ggf. zum Problem führt?

Der Puffer ist der für die Solaranlage. Eigentlich sollten die bei einem Pufferbehälter als Thermofühler auch vorhanden sein.
device ist SOL-P

Elektrolurch


Noch eine Information am Rande: Es gibt eine aktualisierte Firmware für das WCMCOM Home. Version 376-06 B
configDB und Windows befreite Zone!

bastilyk

Warmwasser ist glücklicherweise vorhanden, bei mir aber zusammen mit dem Heizungskreislauf im HK1 abgebildet.
Ein Heizkreis 2 ist schlicht nicht vorhanden, deswegen auch nicht per attr HzAnlage definiert und aus den RGs entfernt.

Vermutlich werde ich mal dein Skript auf den Kopf stellen um all die Stellen aus/-umzubauen die in meiner HZ-Konfiguration nicht vorhanden sind (Pufferfühler oben/unten, HK2).
Damit wird sich dann ja möglicherweise der "Buffer not cleared by Wchmcom_Read - reseting"-Eintrag beheben.

Der Puffer ist bei mir ein 300l Mehrschichtspeicher. Der untere Wärmetauscher wird von den Solar-Kollektoren, der obere Wärmetauscher vom Brennwertgerät versorgt.
Ich werde heute Abend mal prüfen ob die Sensoren nicht vorhanden sind oder ob die WCM-COM diese nicht "erkennt".

Evtl. gibt es inziwschen aber auch Änderungen an der WCM-COM Firmware welche ggf. zu Problemen führen.
Darf ich fragen welche Firmware auf deiner WCM-COM läuft?

bastilyk


bastilyk

#44
Kleines Update nachdem das Log jetzt schon etwas aufgeräumter ist:

Der Fehler wird exakt alle 120 sec. produziert:
2016.02.25 15:38:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:40:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:42:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:44:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:46:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:48:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:50:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:52:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:54:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting
2016.02.25 15:56:44 1: Wcmcom_IOWrite: Buffer not cleared by Wchmcom_Read - reseting

Irgendeine Idee was alle 2 Minuten abgefragt wird?
Definiert sind:

refresh-GAS  60
refresh-HK  1880
refresh-SOL  1800
refresh-USER  600

Update: Setze ich "refresh-GAS" auf "120" schreibt er den Fehler alle 4 Minuten.

Needfoul

Hallo Elektrolurch,

ich muss dieses Thema noch einmal ankochen, ich bin jetzt dran mit meiner Weishaupt Heizung  8)

Möchte die natürlich auch in meine Haus-App wie man so schön sagt integrieren.
Habe als nativer Nutzer von FHEM ganz schön Probleme.

Deshalb meine Frage, gibt es schon neue Files von dir, wo eventuell schon ein paar angepasste Sachen an die neue Firmware der
WCM-Com drin sind sowie eine Abfrage die Passwortgestützt erfolgen kann.
Mit den Dateien von Uli69 komme ich nicht ganz klar. Da ist es ja schon drin.

Auch schmiert mir mein FHEM Server komplett ab wenn ich deine Dateien integriere. Erst wenn ich sie wieder lösche komme ich wieder
auf die Weboberfläche drauf.

Dann weiß ich nicht so richtig wie ich an die Readings komme. Wenn ich versuche mir mit define Heizung 99_my.... ein Gerät zu erschaffen kommt immer unbekanntes Modul.

Ich hoffe du kannst mir da ein wenig auf die Sprünge helfen. Das Thema interresiert mich brennend  :)

Gruß Andreas

DerFrickler

Hallo zusammen,

wo bezieht Ihr die WTC-COM und was kostet die in etwa? Online konnte ich bisher nicht so viele Anbieter ausmachen und aktuell bin ich mir nicht sicher ob der Komfortgewinn Preise jenseits der 200€ rechtfertigt.

Gruß und Danke!

Needfoul

Hallo Frickler,

da dir hier keiner Antworten wird werde ich es mal tun.

Das Thema scheint selbst für den Initiator tot zu sein.
Meine Com hat mich etwas über 200 gekostet. Hatte sie gleich dazu bestellt in der Hoffnung sie irgendwie einbinden zu können.
Aber siehst ja selber, is nix.
Mehrgewinn, nö würd ich sagen. Das was man einstellen muss kann man auch machen wenn man sich vor die Heizung stellst. So oft
macht man das auch nicht. Und von Unterwegs was an der Heizung umzustellen, naja, is auch nicht unbedingt Notwendig.
Zumal das Teil auch ab und zu Macken hat. Und so wie es auch aussieht macht Weishaupt nichts mehr an dem Teil.
Kommen ja neue Geräte dieses Jahr und die haben dann schon Ethernet on Board.
Also gib das Geld lieber für einen eBus Koppler aus und geh in diese Richtung, da wirst du mehr Unterstützung und Hilfe finden.

Jedenfalls ist das besser als zu hoffen das es hier einmal weiter geht.
Ist Schade, hab mir auch mehr Unterstützung von den Profis erwartet.

VG

Andreas

duffy6

Hallo zusammen,

ich will von meinem wcmcom Gerät nur lesend dieWerte in cuxd übernehwm und brauche daher fhem.
Ich bin also ein absoluter Neuling in fhem.
Könnt ihr mir ein paar Codeschnipsel posten, wie das geht?


Das Modul 99_myUtilsHeizung hane ich bereits eingebunden.
Brauche ich auch die beiden anderen Module? Oder braucht man die nur wenn man eine Solaranlage hat und Werte auch schreiben will?

Danke und Gruß
Duffy6

duffy6

Hallo zusammen,

seit über einem Jahr habe ich das Modul nun erfolgreich am Laufen.
Ich hätte eine Bitte:

Könnten nopch weitere Parameter mit aufgenommen werden?
Ich benötige die Parameter:

P36: Minimale Leistung

P22: Heizkennlinien-Steilheit
Wertebereich: 2.5 ... 40 (--- = Deaktivierung)
Werkseinstellung: 12.5

P40: Pumpenbetriebsart Heizbetrieb
0 = Pumpennachlauf
1 = Pumpendauerlauf
Werkseinstellung: 0

P41 Pumpennachlaufzeit Heizbetrieb
1 bis 60 min
Werkseinstellung: 3 min


Und wie wäre es, wenn man die Parameter im in FHEM so bennent wie sie in der Bedienungsanleitung bezeichnet sind, also mit
P1_Funktion
P2_Funktion
P3_Funktion
....

Das würde doch für mehr Übersichtlichkeit sorgen
(siehe Bedienungsnaleitung: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=2ahUKEwjk3LGCjoHfAhWDmIsKHcG3BbsQFjAAegQIABAC&url=https%3A%2F%2Fwww.weishaupt.de%2F%40%40download-file%3Fuid%3De82ad9129c26496aba4cf4fe569ea8d1&usg=AOvVaw2NopbI-eLf90xI2s8zuqu9

Gruß
duffy6

duffy6

Wie muss ich denn das Skript ändern bzw. welchen Parameter setzen, dass die Vorlaufkontrolle durch das Skript deaktiviert ist, also nur die Heizung selbst die Steuerung übernimmt?

Danke und Gruß
duffy6

uli69

#51
Hallo,

nachdem mir das WCM-Modul  jahrelang gute Dienste geleistet hat  :), bin ich dabei mit diesen Informationen ein Gateway für die WCM-COM nach Mqtt zu entwickeln, siehe https://forum.fhem.de/index.php/topic,111332.0.html

Tiff1112

Hallo,

ich muss hier mal ganz blöd fragen, warum kann immer nur ein Teilnehmer auf das wcm-com zugreifen? Jeders mal wenn ich versuche parallel was zu machen blockiert das modul den zugriff.

weiß jemand woran das liegt?

Grüße!

uli69

Ich nehme an die Software kommt nicht mit konkurrierenden Zugriffen zurecht, z.B. Nutzer A-B editieren den Zeitplan gleichzeitig. Aber wirklich wissen werden das nur die Entwickler der WCM-COM ;).

Tiff1112

danke :)
Ich habe mir die .js angeschaut bin aber noch nicht weit gekommen. Es gibt eine Abfrage die auf Parametern beruht jedoch habe ich die Parameterdefinition dazu noch nicht gefunden.

Grüße!