log files aus Dimplex Heizung in fhem

Begonnen von brodigy, 02 September 2013, 22:18:53

Vorheriges Thema - Nächstes Thema

brodigy

Hallo,

ich habe eine Dimplex Wärmepumpensteuerung, die über LAN ins Heimnetz eingebunden ist. Die Steuerung der Heizung und Ablesen der Werte funktioniert bestens über einen Webclient. Was mir dort etwas fehlt ist die grafische Auswertung über z.B. div. Temperaturverläufe.
Hat jemand eine fertige Lösung bereits parat? Ich bin leider noch ziemlicher Anfänger in der Thematik.

Aus meiner Sicht wäre am einfachsten das Logfile auszulesen das automatisch alle z.B. 30 sec  geschrieben wird (lastlog.csv). (Die einzelnen Parameter und das Intervall lassen sich im Wärmepumpenmanager bestimmen).

Kann mir jemand helfen das Logfile (siehe Anhang) der Wärmepumpe in ein in fhem darstellbares Format zu bringen?

Oder ist es einfache die Parameter direkt irgendwie auszulesen?

Vielen Dank im voraus,
brodigy

rudolfkoenig

FileLog mag keine Header (die ersten 4 Zeilen muessten weg), Datum wird als YYYY-MM-DD_HH:MM:SS geschrieben, und alle weiteren Felder werden mit leerzeichen getrennt. Danach koennte man ein FileLog mit falschen regexp auf die Datei zeigen lassen, und dann in FHEMWEB ein SVG Instanz generieren, und konfigurieren. Das Problem was ich sehe ist die kontinuierliche abholung der Daten, und nicht das einmalige Konvertieren. Das geht natuerlich auch relativ einfach, aber nicht ohne ein bisschen Programmierung.

brodigy

Danke erstmal für die schnelle Antwort. Ich schau mal ob sich das Logformat der Wärmepumpe entsprechend anpassen lässt.
Falls ich da nicht weiterkomme, benötige ich ein paar Programmiertipps für die Konvertierung...

oniT

Hallo brodigy,

die NWPM-Erweiterung vom Wärmepumpenmanager kann mit Modbus ausgelesen werden. Dies habe ich seit ca. 3 Monaten für die Analogwerte so laufen.

Ich wollte dies schon in's Wiki setzen, bin nur leiter im Moment noch nicht dazu gekommen. Wenn es nicht ganz dringend ist, werde ich dies dann in den kommenden Wochen tun.

Die Analogwerte werden in ein Logfile geschrieben und ausgewertet. Nachfolgend die Grafik.

Plotergebnis

Für die Digitalwerte habe ich es noch nicht geschafft. Da benötige ich noch Unterstützung aus diesem Forum ;-)

Gruß
TinoB
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

brodigy

Hallo Tino,

na das sieht ja mal sehr vielversprechend aus und scheint genau die Lösung zu sein, die ich suche. Ich denke auch etwas professioneller als ein csv-Logfile auszulesen.

Ich warte gespannt auf Deine Veröffentlichung...

Besten Dank für die Antwort - in freudiger Erwartung,

brodigy

oniT

Hallo brodigy,

da die Heizsaison so langsam beginnt, hier nun die Konfiguration.

Dank des Codes von Mopedpaul ist es möglich über Modbus IP die Werte auszulesen. Nicht wundern, in diesem stehen mit Sicherheit Dinge drin, welche nicht zum Auslesen der Werte benötigt werden. Die Datei ist ein Überbleibsel vom Auslesen eines Solarlog über Modbus, funktioniert aber ohne Probleme.

Zunächst muss in der Datei im Anhang die IP Adresse der Wärmepumpe eingetragen werden.


..
$remote =  $opt_s = '192.168.1.150';  # IP-Adresse der Wärmepumpe
...


Anschließend die Datei in das FHEM Verzeichnis kopieren und mit reload 99_myHeatPumpUtils.pm laden.

Dann nachfolgenden Code in eine entsprechende *.cfg Datei eintragen.


define HeatPumpTempValueTimer at +*00:01:00 {\
 Heatpump ("1","1","atemp")};;{\
 Heatpump ("2","1","rltemp")};;{\
 Heatpump ("3","1","wwtemp")};;{\
 Heatpump ("5","1","vltemp")};;{\
 Heatpump ("10","1","rttemp")};;{\
 Heatpump ("53","1","rlstemp")};;{\
 my $val1 = $value{"atemp"};;\
 fhem ("set atempval $val1");;\
 my $val2 = $value{"rltemp"};;\
 fhem ("set rltempval $val2");;\
 my $val3 = $value{"wwtemp"};;\
 fhem ("set wwtempval $val3");;\
 my $val5 = $value{"vltemp"};;\
 fhem ("set vltempval $val5");;\
 my $val10 = $value{"rttemp"};;\
 fhem ("set rttempval $val10");;\
 my $val53 = $value{"rlstemp"};;\
 fhem ("set rlstempval $val53");;\
 my $temp= "AT $val1 RLT $val2 WWT $val3 VLT $val5 RT $val10 RLS $val53";;\
  fhem("trigger Temp $temp");;\
}
attr HeatPumpTempValueTimer group Wärmepumpe
attr HeatPumpTempValueTimer room !Experiment


Dabei entspricht zum Beispiel die 2  bei ,,Heatpump ("2","1","rltemp")" dem Indize Rücklauftemperatur. Es müssen alle Indizes auf die eigene Anlage angepasst werden. Diese werden unter www.dimplex.de/wiki und dann NWPM zur Verfügung gestellt.

Das rltemp ,,Heatpump ("2","1","rltemp")" ist ein Dummy, wo die Rücklauftemperatur hingeschrieben wird.


########################################################
##  Wärmepumpe Dummy für Temperaturen
##  Erstellt........: 02.06.2013
##  Letzte Änderung.:
########################################################
define rltemp dummy
define rltempval dummy
attr rltempval alias Rücklauftemperatur
attr rltempval group Betriebsdaten
attr rltempval room Wärmepumpe
attr rltempval sortby 04
attr rltempval stateFormat {ReadingsVal("rltempval","state",0)." °C"}


Diese Dummys müssen auch auf die eigene Anlage angepasst werden. Oben stehen u.a. noch Außen-, Vorlauf-, Raum- oder auch Warmwassertemperatur.

Hiermit werden alle Temperaturen in eine Logdatei geschrieben und als Grafik ausgegeben.


##################################################################
##  Es werde alle Temperaturen in ein Logfile geschrieben
##  Erstellt........: 02.06.2013
##  Letzte Änderung.:
##################################################################
define Temp dummy
attr Temp alias Temperaturen
attr Temp group Wärmepumpe
attr Temp room z_unbenutzt

define A_WaermepumpeLog FileLog ./log/Waermepumpe-%Y-%m-%d.log Temp
attr A_WaermepumpeLog group Wärmepumpe
attr A_WaermepumpeLog logtype text
attr A_WaermepumpeLog room Log

define A_weblink_WPLog weblink fileplot A_WaermepumpeLog:dimplexwp:CURRENT
attr A_weblink_WPLog alias Wärmepumpe
attr A_weblink_WPLog label "Wärmepumpe Min $data{min1}°C, Max $data{max1}°C, Aktuell $data{currval1}°C"
attr A_weblink_WPLog plotsize 800,600
attr A_weblink_WPLog room Plot


Die Übergabe der Werte in die Logdatei erfolgt dabei bereits im ersten Code mit:


...
 my $temp= "AT $val1 RLT $val2 WWT $val3 VLT $val5 RT $val10 RLS $val53";;\
  fhem("trigger Temp $temp");;\
...


Das geht auch noch mit der Historie und den Statusmeldungen. Im Prinzip mit allen Analogwerten. Dazu bei Gelegenheit später mehr. Bitte versuche zunächst einmal dies auf Deine Anlage umzusetzen.

Ein Zugriff auf die Digitalwerte ist mir über Modbus bisher noch nicht gelungen. Da werde ich bei Gelegenheit noch an entsprechender Stelle hier im Forum nachfragen.

Das Endziel sollte sein, dies als "richtiges" Modul zur Verfügung zu stellen, damit es dann vielleicht offiziell eingecheckt werden kann.

Melde Dich wenn es klappt oder auch nicht ;-)

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

brodigy

Servus Tino,
vielen Dank für den Code - ich werde es am Wochenende testen und berichten.
Aktuell bin ich noch in Russland, wo die Heizperiode Auch schon angefangen hat

brodigy

Hallo Tino,

es funktioniert!
Das einzige, was ich anpassen musste, war der Pfad zu das Logfile:

von:
define A_WaermepumpeLog FileLog ./log/Waermepumpe-%Y-%m-%d.log Temp

auf:
define A_WaermepumpeLog FileLog /var/log/fhem/Waermepumpe-%Y-%m-%d.log Temp


Vielen Dank für die sehr gute Anleitung!

brodigy

oniT

Hallo brodigy,

hier mal noch ein Teil wie Du die Historie abfragen kannst:


########################################################
##  Wärmepumpe Abfrage der Historie
##  Erstellt........: 15.08.2013
##  Letzte Änderung.:
########################################################
define HeatPumpHistValueTimer at +*01:00:00 {\
 Heatpump ("72","1","lvd1m")};;{\
 Heatpump ("74","1","lvenm")};;{\
 Heatpump ("75","1","l2wem")};;{\
 Heatpump ("76","1","lhupm")};;{\
 Heatpump ("77","1","lwupm")};;{\
 Heatpump ("78","1","lflhm")};;{\
 my $val72 = $value{"lvd1m"}*10;;\
 fhem ("set lvd1valm $val72");;\
 my $val74 = $value{"lvenm"}*10;;\
 fhem ("set lvenvalm $val74");;\
 my $val75 = $value{"l2wem"}*10;;\
 fhem ("set l2wevalm $val75");;\
 my $val76 = $value{"lhupm"}*10;;\
 fhem ("set lhupvalm $val76");;\
 my $val77 = $value{"lwupm"}*10;;\
 fhem ("set lwupvalm $val77");;\
 my $val78 = $value{"lflhm"}*10;;\
 fhem ("set lflhvalm $val78");;\
 my $his= "C $val72 V $val74 WE $val75 H $val76 W $val77 F $val78";;\
  fhem("trigger Historie $his");;\
 my $dwertww=(100*$val77/$val74);;\
  fhem("set DWA $dwertww");;\
 my $dwerthz=(100*($val74-$val77)/$val74);;\
  fhem("set DHA $dwerthz");;\
}
attr HeatPumpHistValueTimer alignTime 00:10
attr HeatPumpHistValueTimer group Wärmepumpe
attr HeatPumpHistValueTimer room !Experiment

########################################################
##  Wärmepumpe Dummy für Historie
##  Erstellt........: 29.05.2013
##  Letzte Änderung.: 15.08.2013
########################################################
define lvd1m dummy
define lvd1valm dummy
attr lvd1valm alias Verdichter
attr lvd1valm group Historie
attr lvd1valm room Wärmepumpe
attr lvd1valm sortby 01
attr lvd1valm stateFormat {ReadingsVal("lvd1valm","state",0)." h"}

define lvenm dummy
define lvenvalm dummy
attr lvenvalm alias Ventilator
attr lvenvalm group Historie
attr lvenvalm room Wärmepumpe
attr lvenvalm sortby 02
attr lvenvalm stateFormat {ReadingsVal("lvenvalm","state",0)." h"}

define l2wem dummy
define l2wevalm dummy
attr l2wevalm alias 2.Wärmeerzeuger
attr l2wevalm group Historie
attr l2wevalm room Wärmepumpe
attr l2wevalm sortby 03
attr l2wevalm stateFormat {ReadingsVal("l2wevalm","state",0)." h"}

define lhupm dummy
define lhupvalm dummy
attr lhupvalm alias Heizungsumwälzpumpe
attr lhupvalm group Historie
attr lhupvalm room Wärmepumpe
attr lhupvalm sortby 04
attr lhupvalm stateFormat {ReadingsVal("lhupvalm","state",0)." h"}

define lwupm dummy
define lwupvalm dummy
attr lwupvalm alias Warmwasserumwälzpumpe
attr lwupvalm group Historie
attr lwupvalm room Wärmepumpe
attr lwupvalm sortby 05
attr lwupvalm stateFormat {ReadingsVal("lwupvalm","state",0)." h"}

define lflhm dummy
define lflhvalm dummy
attr lflhvalm alias Flanschheizung
attr lflhvalm group Historie
attr lflhvalm room Wärmepumpe
attr lflhvalm sortby 06
attr lflhvalm stateFormat {ReadingsVal("lflhvalm","state",0)." h"}

########################################################
##  Durchschnittswerte Heizen/Warmwasser
##  Erstellt........: 02.06.2013
##  Letzte Änderung.:
########################################################
define DWA dummy
attr DWA alias Warmwasseranteil
attr DWA group Historie
attr DWA room Wärmepumpe
attr DWA sortby 07
attr DWA stateFormat {sprintf("%.0f",ReadingsVal("DWA","state",0))." %"}

########################################################
##  Durchschnittswerte Warmwasser/Heizen
##  Erstellt........: 02.06.2013
##  Letzte Änderung.:
########################################################
define DHA dummy
attr DHA alias Heizwasseranteil
attr DHA group Historie
attr DHA room Wärmepumpe
attr DHA sortby 08
attr DHA stateFormat {sprintf("%.0f",ReadingsVal("DHA","state",0))." %"}


Und in ein Logfile schreibst. Die Werte werden wieder mit dem Codeschnippsel von oben:


...
 my $his= "C $val72 V $val74 WE $val75 H $val76 W $val77 F $val78";;\
  fhem("trigger Historie $his");;\
...


in das Logfile geschrieben:


###########################################################
##  Historie in Logschreiben
##  Erstellt........: 29.05.2013
##  Letzte Änderung.: 25.06.2013
##  Durchschnittswerte für Warmwasser und Heizen ermitteln
##  gelöscht!!!!!!!!!!!1
###########################################################
define Historie dummy
define H_WaermepumpeLog FileLog /var/log/Waermepumpe_H-%Y-%m-%d.log Historie
attr H_WaermepumpeLog group Wärmepumpe
attr H_WaermepumpeLog logtype text
attr H_WaermepumpeLog room Log


Das ganze sieht dann so aus:

(siehe Anhang / see attachement)


Ich stelle Dir in Kürze mal noch die Abfrage der Digitalwerte ein. Solange ich dies noch nicht über Modbus gelöst bekomme, kann man inzwischen einen anderen Weg wählen.

Hast Du eine Wärmepumpe mit Wärmemengenzähler?

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

brodigy

funktioniert! Perfekt!

Vielen Dank,
brodigy

brodigy

Hallo Tino,

seit heute habe ich leider sehr viele Fehlermeldungen im Log file:

Use of uninitialized value $proto in socket at /usr/share/fhem/FHEM/99_myHeatPumpUtils.pm line 68.
Use of uninitialized value $fld[11] in pattern match (m//) at (eval 25137) line 1, <GEN103> line 37.

Hast Du eine Idee woran das liegen könnte?

VG,
brodigy

oniT

Hallo brodigy,

upps, schwierig für mich. Bei mir kommen keine Meldungen. Hast Du ein Update durchgeführt oder etwas anders geändert? Sind das die einzigen Meldungen?

Hast Du mal einen Neustart durchgeführt? Kommen die Meldungen dann immer noch? Hast Du nochmals die 99_myHeatPumpUtils.pm Datei eingespielt? Eventuell hat sich da etwas verändert, warum auch immer ;-)

Steht die Verbindung noch, also werden die Werte trotzdem alle aktuell angezeigt?

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

brodigy

Ein Restart von fhem hatte nichts gebracht - erst seit Neustart von der Fritzbox ist der Fehler wieder verschwunden...
Sorry für den Alarm :-)

VG,
brodigy

XBuschman

Hallo Zusammen,
auch ich bin im Besitz eine Dimplex Wärmepumpe mit NWPM Modul (genau genommen ist es eine Weishaupt Wärmepumpe, die aber auf die Dimplex Technik aufsetzt). Dank der hier gepostete Informationen ist es mir auch gelungen, Werte per FHEM auszulesen und anzuzeigen. Hier erstmal ein Dank an die Beteiligten.

Als nächsten Schritt würde ich gerne Werte über FHEM verstellen. Hat das schon mal jemand erfolgreich versucht?

Gruß, X


oniT

Hallo XBuschman,

ja das ist auch möglich. Allerdings, kann man darüber auch sehr viel 'Mist' einstellen, wenn man zum Beispiel ein falsches Register oder falschen Wert schreibt und das kann bei einer Wärmepumpe fatale Folgen haben. Dies ist somit mit Vorsicht zu genießen. Wenn man eh den Webzugriff mit der NWPM hat, würde ich die App bevorzugen. Schau mal unter http://www.dimplex.de/wiki/index.php/HeatPumpApp

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

XBuschman

Hallo Tino,
danke für die Antwort. Ich denke du hast Recht. Das Risiko ist zu Groß, dass man da Mist baut. Die App habe ich schon installiert.

Noch 2 Sachen:

Wenn die Aussentemperatur unter 0 Grad fällt, wird der Wert nicht als singed interpretiert und entsprechend falsch angezeigt. Obwohl ich keine Ahnung von perl habe, hatte ich mal ein wenig rumprobiert. Am Schluss habe ich eine Abfrage eingebaut bei der ich den Wert umrechne und entsprechend formatiert ausgebe. Sieht dann so aus:

...
if ($Werte == "1") {
   if ($data[0] > 32767) {
      $Ergebnis = sprintf("-%0.1f", ((65536-$data[0])/10)) ;
   }
   else {
      $Ergebnis = sprintf("%0.1f", ($data[0]/10)) ;
   }
  }
...


Keine Ahnung ob das der "eleganteste" Weg ist, aber er funktioniert.

Zweites: Gibt es schon etwas neues bzgl. dem Lesen von Digital Werten?

Danke und Gruß,
X.

oniT

Hallo XBuschmann,

ja das ist richtig. Dies hatte ich auch in den letzten Tagen festgestellt, allerdings mich noch nicht weiter damit beschäftigt. Deine Erweiterung des Codes habe ich bei mir eingefügt und es funktioniert.

Die Digitalen Werte hatte ich bisher über eine XML Struktur ausgelesen. Allerdings finde ich die Variante mit Modbus persönlich geschickter. Ich hatte hierzu mit Uwe (Alias Mopedpaul) bereits gesprochen, da der bisherige Code vom Solar-Log übernommen wurde und er sich damit auseinander gesetzt hat. Allerdings wusste er auch keine Lösung.

Inzwischen habe ich mich weiter damit auseinandergesetzt und eine Lösung gefunden. Sollte es so funktionieren wie ich es denke, werde ich die Lösung in den kommenden Tagen hier einstellen. Dann könnt Ihr die Codeschnippsel testen.

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

oniT

Hallo,

wie versprochen findet ihr im Anhang die beiden benötigten Dateien. Die 99_myModbusUtils.pm habe ich auf unsere Bedrüfnisse angepasst. Ursprung dieser Datei ist die Wago Diskussion von ChrisD.

Eine begonne Dokumentation habe ich ins fhemwiki eingestellt. Ich werde diese in den kommenden Tagen noch genauer anpassen. Für das zwischenzeitliche Testen sollte es zunächst ausreichen ;-)

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

XBuschman

Hallo Tino,
vielen, vielen Dank für deine Arbeit. Habe das neue Modul getestet und es funktioniert alles super.
Werde in den nächsten Tagen mal schauen, dass ich die digitalen Signale auch geplottet bekomme.

Danke und Gruß,
X.

mago0211

Hallo zusammen,

es hat sich hier zwar schon seit Dezember nicht mehr getan, dennoch hoffe ich noch eine Antwort zu bekommen.

Ich habe gelesen das man auch Einstellungen verändern kann. (Davon wird aber eher abgeraten)

Ich würde gerne etwas Flexiblere Sperr bzw. Warmwassertemperaturen einstellen welche ich mit dem Standard Bedienteil nicht machen kann. Jetzt ist die Frage ob das über Fhem sinnvoll ist oder das Risiko zu hoch ist etwas zu zerschießen?

Gruß
Markus

oniT

Hallo Markus,

möglich ist es schon. Das Risiko besteht halt nur darin, dass wenn man beim Testen eine falsche Adresse beschreibt und dies nicht wieder rückgängig macht, die Auswirkungen nicht unerheblich sein können. Wenn es allerdings richtig gemacht ist, gibt es kein Risiko. Wichtig ist halt das die Adressen stimmen.

Wie tief möchtest Du in die Materie "flexibilität" einsteigen? Bitte schicke einmal noch ein paar Infos was Du wann und warum schalten möchtest. Dann versuche ich Dir zu helfen.

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

mago0211

Hallo,

also mein Vorhaben ist eigentlich recht einfach gestrickt.
Und zwar will ich einfach mehr verschiedene Warmwasserzeiten einstellen können. Dieses Heizprogramm (so nenne ich es jetzt mal) soll einmal definiert werden und dann eigentlich nicht mehr groß verändert werden wenn die Einstellungen passen.
Ich mache mal ein kleines Beispiel.

Montag – Freitag 06:00 bis 10:00 Warmwassertemp.= 44 C°
Montag – Freitag 10:00 bis 17:00 Warmwassertemp.= 35 C°
Montag – Freitag 17:00 bis 20:00 Warmwassertemp.= 44 C°
Montag – Freitag 20:00 bis 06:00 Warmwassertemp.= 30 C°

Samstag – Sonntag 08:00 bis 10:00 Warmwassertemp. = 44 C°
Samstag – Sonntag 10:00 bis 17:00 Warmwassertemp. = 35 C°
Samstag – Sonntag 17:00 bis 20:00 Warmwassertemp. = 44 C°
Samstag – Sonntag 20:00 bis 06:00 Warmwassertemp. = 30 C°

Das ist jetzt mal eine einfach Übersicht wie ich mir das vorstelle evtl. muss es noch etwas erweitert werden. Da wir noch einen Externen Wärmetauscher haben der direkt in den Warmwasserspeicher hineinfährt. Deshalb kommt es ab und zu zu Überschneidungen und wenn die WP zu früh das Warmwasser aufheizt bringt der Externe Tauscher keine Leistung mehr rein.

Im Prinzip würde es also reichen wenn ich die Solltemperatur verändern könnte. So müsste an den Sperrzeiten nicht rumgespielt werden.

Ich Dachte mir ich könnte einen Dummy definieren welcher als Status immer den aktuellen Sollwert hat. Sobald der Wert geändert wird soll die Änderung an die WP gesendet werden.
Und einfach per at befehle die Dummy Temp. Anpassen wie ich es gerade brauche. So könnte man auch wenn man mal außerplanmäßig was braucht den Wert kurzfristig und einfach anpassen.

Ich habe das LAN Gateway noch nicht. Ich wollte mich vorab informieren ob so eine Steuerung sinnvoll ist oder ob du eher davon abraten würdest.

Gruß
Markus

oniT

Hallo Markus,

ja das dürfte kein Problem sein. In diesem Fall muss man die internen Zeitprogramme nicht nutzen und auch den Wert nicht am Ende wieder zurückschreiben. So wie Du es möchtest, muss man immer nur jeweils zu Begin der Zeit die Warmwassersolltemperatur einfach neu setzen. Lies bitte mal den Softwarestand in den Betriebsdaten aus. Da steht meist irgendwas mit "Regler" -> Software -> WPM_H oder J oder L und stell diesen hier bitte ein.

Ich stelle Dir dann ein Beispiel ein wie Du den Wert schreiben kannst.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

mago0211

Hallo Tino

sorry für die etwas verspätete Antwort bin zurzeit etwas im Stress   :-\

ProgV: WPM_H_H62
Boot: 0403
BIOS: 0410

Gruß
Markus

oniT

#24
Hallo Markus,

die Warmwassersolltemperatur kann mit

{write_modbus(5022,$settemp)}

eingestellt werden. Dabei muss $settemp mit der gewünschten Solltemperatur ersetzt werden. Voraussetzung sind die beiden für Modbus TCP benötigten Dateien.

Achtung, das Register 5022 ist nur gültig für den Wärmepumpenmanager mit Softwarestand WPM_H50 bis WPM_H63!

Ich habe dies einmal mit WeekDayTimer umgesetzt. Der Code sieht dann so aus

# Auswahl Warmwassersolltemperatur
define hp_hotwater_settemp dummy
attr hp_hotwater_settemp alias Warmwassertemperatur
attr hp_hotwater_settemp group Zeitprogramm Warmwasser
attr hp_hotwater_settemp room !Experiment
attr hp_hotwater_settemp setList state:30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45
attr hp_hotwater_settemp sortby 01
attr hp_hotwater_settemp stateFormat {ReadingsVal($name,"state",0)." °C"}
attr hp_hotwater_settemp webCmd state



# Auswahl Tages-/Wochenprogramm
define hp_hotwater_setday dummy
attr hp_hotwater_setday alias Tages-/Wochenprogramm
attr hp_hotwater_setday group Zeitprogramm Warmwasser
attr hp_hotwater_setday room !Experiment
attr hp_hotwater_setday setList state:Mo,Di,Mi,Do,Fr,Sa,So,Mo-Fr,Sa-So,Sa-Fr
attr hp_hotwater_setday sortby 02
attr hp_hotwater_setday webCmd state



# Auswahl der Startzeit
define hp_hotwater_sethour dummy
attr hp_hotwater_sethour alias Zeit
attr hp_hotwater_sethour group Zeitprogramm Warmwasser
attr hp_hotwater_sethour room !Experiment
attr hp_hotwater_sethour setList state:time
attr hp_hotwater_sethour sortby 03
attr hp_hotwater_sethour webCmd state



# Notify zum Setzen und Löschen von WeekDayTimer
define hp_hotwater_timer notify hp_hotwater_sethour {my $sethour = ReadingsVal("hp_hotwater_sethour", "state", "undef");;\
my $settemp = ReadingsVal("hp_hotwater_settemp", "state", "undef");;\
my $setday = ReadingsVal ("hp_hotwater_setday", "state" , "undef");;\
my $Day = $setday ;;\
$Day = s/-/_/g ;;\
fhem ("define $Day.$sethour.$settemp.schalten WeekdayTimer $Day$settemp $setday|$sethour|$settemp {write_modbus(5022,$settemp)}");;\
fhem ("attr $Day.$sethour.$settemp.schalten room !Experiment");;\
fhem ("attr $Day.$sethour.$settemp.schalten alias Warmwassertemperatur $settemp°C wird am $setday um $sethour eingeschalten");;\
fhem ("attr $Day.$sethour.$settemp.schalten group Zeitprogramm $settemp°C");;\
fhem ("attr $Day.$sethour.$settemp.schalten devStateIcon .*:time_timer");;\
fhem ("define Termin_von.$settemp.$Day.um.$sethour dummy");;\
fhem ("attr Termin_von.$settemp.$Day.um.$sethour group Zeitprogramm $settemp°C");;\
fhem ("attr Termin_von.$settemp.$Day.um.$sethour alias $settemp°C Warmwassertemperatur wird am $setday um $sethour eingeschalten");;\
fhem ("attr Termin_von.$settemp.$Day.um.$sethour room !Experiment");;\
fhem ("attr Termin_von.$settemp.$Day.um.$sethour devStateIcon .*:message_garbage");;\
fhem ("attr Termin_von.$settemp.$Day.um.$sethour webCmd loeschen");;\
fhem ("define Termin_$settemp.$Day.$sethour.loeschen notify Termin_von.$settemp.$Day.um.$sethour:loeschen delete $Day.$sethour.$settemp.schalten,Termin_$settemp.$Day.$sethour.loeschen,Termin_von.$settemp.$Day.um.$sethour");;\
fhem ("attr WEB longpoll 0");;\
fhem ("attr Termin_von.$settemp.$Day.um.$sethour alias Zeitprogramm $settemp°C am $setday um $sethour löschen");;\
}


Und so sieht die Einstellung dann aus.
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

mago0211

Hallo Tino,

erstmal danke für deine mühe.  :D

Wie ich schon sagte habe ich das Lan Interface noch nicht besorgt aber so bald ich es habe und Zeit finde gebe ich dir bescheid.

Danke
Gruß
Markus

qwert4u

Hallo,
ich habe eine Dimplex WP mit H Software
wie in der Anleitung beschrieben habe ich die 2 Dateien in das FHEM Verzeichnis kopiert.. die IP Adresse angepasst..
in der fhem.cfg den Code eingefügt ich denke soweit auch auf die H-Software angepasst. jedoch erscheinen bei den werten in FHEM nur ???
Was kann das sein?


########################################################
##  Wärmepumpe Abfrage der Temperaturen
##  Erstellt........: 15.08.2013
##  Letzte Änderung.: 16.03.2014
########################################################
define HeatPumpAnalogValueTimer at +*00:01:00 {\
  my $val27 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(27)))/10);;\
  my $val29 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(29)))/10);;\
  my $val30 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(30)))/10);;\
  my $val31 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(31)))/10);;\
  my $val8 = sprintf("%0.1f", ((((WORD_TO_INT(read_modbus_zaehler(8)))-100)*345)/8000));;\
  my $val10 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(35)))/10);;\
  my $val53 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(53)))/10);;\
  my $val101 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(101)))/10);;\
   fhem ("set atempval $val27");;\
   fhem ("set rltempval $val29");;\
   fhem ("set wwtempval $val30");;\
   fhem ("set vltempval $val31");;\
   fhem ("set highpreval $val8");;\
   fhem ("set rttempval $val10");;\
   fhem ("set soltempval $val24");;\
   fhem ("set rlstempval $val53");;\
   fhem ("set lowpreval $val101");;\
  my $temp= "AT $val27 RLT $val29 WWT $val30 VLT $val31 RT $val10 RLS $val53";;\
   fhem("trigger Temp $temp");;\

oniT

Hallo quert4u,

kannst Du bitte einmal in das Logfile sehen. Dort muss doch irgend eine Meldung dazu stehen und den Ausschnitt hier posten. Oder aber was steht im Monitor? Die Werte werden ja jede Minute abgefragt.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

9876543212

Hallo Tino,
auch ich habe mich an die Darstellung der Messwerte anhand Deiner Anleitung gewagt.
Ich habe eine Dimplex WP mit J Software und habe, wie in der Anleitung beschrieben, beiden Dateien in das FHEM Verzeichnis kopiert.. die IP Adresse angepasst..
In der fhem.cfg habe ich Codes angepasst. Jedoch erscheinen bei den Werten in FHEM nur ??? bzw. Nullen.


Grafik: Cannot read ./www/gplot/dimplexwp.gplot - Pfad stimmt <> Datei nicht existent
Tabellen:

define HeatPumpAnalogValueTimer at +*00:01:00 {\
Heatpump ("1","1","atemp")};;{\
Heatpump ("2","1","rltemp")};;{\
Heatpump ("3","1","wwtemp")};;{\
Heatpump ("5","1","vltemp")};;{\
Heatpump ("11","1","rttemp")};;{\
Heatpump ("53","1","rlstemp")};;{\
  my $val1 = $value{"atemp"};;\

  my $val2 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(2)))/10);;\
  my $val3 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(3)))/10);;\
  my $val5 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(5)))/10);;\
  my $val8 = sprintf("%0.1f", ((((WORD_TO_INT(read_modbus_zaehler(8)))-100)*345)/8000));;\
  my $val10 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(11)))/10);;\
  my $val53 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(53)))/10);;\
  my $val101 = sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(101)))/10);;\
   fhem ("set atempval $val1");;\
   fhem ("set rltempval $val2");;\
   fhem ("set wwtempval $val3");;\
   fhem ("set vltempval $val5");;\
   fhem ("set highpreval $val8");;\
   fhem ("set rttempval $val11");;\
   fhem ("set rlstempval $val53");;\
   fhem ("set lowpreval $val101");;\
  my $temp= "AT $val1 RLT $val2 WWT $val3 VLT $val5 RT $val11 RLS $val53";;\
   fhem("trigger Temp $temp");;\
}
attr HeatPumpAnalogValueTimer group At
attr HeatPumpAnalogValueTimer room z_Wärmepumpe

Den kursiv gehaltenen Teil des Listings habe ich eingefügt bzw. auch mal weggelassen (hier existieren im Thread unterschiedliche Varianten) - ohne erkennbare Änderung.
Was kann das sein?

Gruß Matthias

oniT

Hallo Matthias,

da passt etwas nicht. Stehen im Logfile weitere Fehlermeldungen?

Ich gehe davon aus, dass Du ein Reload der 99_myModbusUtils.pm durchgeführt hast und das ein Dummy atempval angelegt ist.

Fange einmal klein an und kürze zunächst einmal den Code bis auf diese paar Zeilen runter:


define HeatPumpAnalogValueTimer at +*00:01:00 {
fhem("set atempval ".sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(1)))/10));
}


Achtung, Du musst den Code nicht in der fhem.cfg ändern, besser ist dies direkt im DEF zu erledigen.

Gruß,
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

9876543212

Hallo Tino,
ich habe alles gelöscht.
Hier mein Logfile-Auszug:
014.12.27 23:44:47 0: Server shutdown
2014.12.27 23:44:51 1: Including fhem.cfg
2014.12.27 23:44:51 3: telnetPort: port 7072 opened
2014.12.27 23:44:52 3: WEB: port 8083 opened
2014.12.27 23:44:52 3: WEBphone: port 8084 opened
2014.12.27 23:44:52 3: WEBtablet: port 8085 opened
2014.12.27 23:44:53 2: eventTypes: loaded 17 events from ./log/eventTypes.txt
2014.12.27 23:44:53 1: Including ./log/fhem.save
2014.12.27 23:44:53 1: usb create starting
2014.12.27 23:44:55 3: Probing CUL device /dev/ttyAMA0
2014.12.27 23:44:55 3: Probing TCM_ESP3 device /dev/ttyAMA0
2014.12.27 23:44:56 3: Probing FRM device /dev/ttyAMA0
2014.12.27 23:45:01 1: usb create end
2014.12.27 23:45:01 2: SecurityCheck:  WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2014.12.27 23:45:01 0: Server started with 31 defined entities (version $Id: fhem.pl 7124 2014-12-05 07:10:20Z rudolfkoenig $, os linux, user fhem, pid 2556)
2014.12.27 23:45:35 1: PERL WARNING: Subroutine myModbusUtils_Initialize redefined at ./FHEM/99_myModbusUtils.pm line 16.
2014.12.27 23:45:35 1: PERL WARNING: Subroutine init_modbus redefined at ./FHEM/99_myModbusUtils.pm line 25.
2014.12.27 23:45:35 1: PERL WARNING: Subroutine read_modbus_coils redefined at ./FHEM/99_myModbusUtils.pm line 44.
2014.12.27 23:45:35 1: PERL WARNING: Subroutine read_modbus_zaehler redefined at ./FHEM/99_myModbusUtils.pm line 69.
2014.12.27 23:45:35 1: PERL WARNING: Subroutine WORD_TO_INT redefined at ./FHEM/99_myModbusUtils.pm line 94.

Definiert habe ich dummy atempval und ein Reload der 99_myModbusUtils.pm wurde durchgeführt. (Erfolgt das nicht automatisch mit shutdown restart?)

Ich bekomme noch immer 0 Grad Außentemperatur angezeigt. Lt. WP haben wir -3 Grad. An der 99_myModbusUtils.pm habe ich keine Änderungen vorgenommen - außer der IP. Der Rest stammt aus der hier veröffentlichten Version.

Hast Du noch eine Idee?

Matthias

oniT

Hallo Matthias,

seltsam, aber das bekommen wir schon hin. Welche Firmwareversion ist auf der NWPM? A1.5.0?

Bitte schicke einmal einen Screenshot von der Config-Page im Anhang. Diese Seite ist zu erreichen unter http://ip-waermepumpe/config

Wenn nicht geändert dann ist der

Benutzernamen: admin
Passwort: fadmin

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

9876543212

Hallo Tino,
sorry.

Die Firmware lautet: A1.5.3 - B1.2.4
(//)

[Bild_pcoweb.jpg][/Bild_pcoweb.jpg]


Danke
Matthias

oniT

Hallo Matthias,

ok, damit muss es funktionieren.

Bitte hänge nochmals Deine jetztige 99_myModbusUtils.pm mit an. Ich werde diese bei mir einspielen bzw. vergleichen. Nicht das dort noch irgendwo ein Unterschied zu meiner ist.

Danke,

Gruß
Tino

BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

9876543212


oniT

Hallo Matthias,

ok, ich habe tatsächlich in der Zwischenzeit ein paar Sachen ergänzt. Diese haben zwar mit dieser Abfrage nichts zu tun, allerdings um über das Ausschlußverfahren gehen zu können, solltest Du diese im Anhang mit Deiner überschreiben und ein reload 99_myModbusUtils.pm durchführen.

Ab der Version A1.5.3 der pCOWeb kann unter Configuration - ModbusTCP dies aktiviert oder deaktivert werden. Bitte kontrolliere auch diese Einstellungen. Ausserdem kann zwischen der Version v1.4x und v1.5x gewählt werden. Ich hätte hier mit einem Offset gerechnet. Bei mir kommen bei beiden die selben Ergebnisse. Um dies ebenfalls ausschließen zu können, ergänze einmal noch die Abfrage um die Rücklauftemperatur.


define HeatPumpAnalogValueTimer at +*00:01:00 {
fhem("set atempval ".sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(1)))/10));
fhem("set rltempval ".sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(2)))/10));
}


Nicht den Dummy rltempval vergessen anzulegen.

Dann seh einmal ob im Event Monitor ein paar Werte geliefert werden.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

9876543212

#36
Hallo Tino,
für Analogwerte bleibt der Event Monitor ohne Ergebnis.
Mir werden einige Digitalwerte übermittelt - die sich auch ändern. Insofern scheint die Verbindung zum Wärmepumpenmanager zu klappen.

Folgende Meldung wird mir beim Starten vom FHEM Server angezeigt:
"Error messages while initializing FHEM:
configfile: Unknown command fhem("set, try help."

Anbei füge ich Dir mal meine vollständige fhem.cfg und eine frische/gekürzte Logdatei.
Ich habe auch den Map Mode von v1.5.x new auf v1.4.x gestellt - ohne Ergebnis.

Danke Matthias

oniT

#37
Hallo Matthias,

das die Digitwerte gepollt werden können ist schonmal gut. Somit wird schon mal die Verbindung hergestellt.

Bearbeitest du die fhem.cfg direkt oder gehst Du über das Eingabefeld und dann über die Eigenschaften? So wie ich das sehe ist der Fehler folgender und mal zum Vergleich mit dem define HeatPumpDigitalValueTimer direkt aus der fhem.cfg kopiert:

define HeatPumpDigitalValueTimer at +*00:01:00 {\
fhem("set opvd1val ".read_modbus_coils(41))};;{\
....
....


Wenn Du den Code darin ansiehst wirst Du feststellen, dass nach der geschweiften Klammer ein Backslash die Zeile abschließt. Gibst Du dies direkt in den Eigenschalften über das Editorfeld ein muss dies nicht sein, dort wird es automatisch angelegt.

Jetzt zum Vergleich der aktuelle Code vom define HeatPumpAnalogValueTimer:

define HeatPumpAnalogValueTimer at +*00:01:00 {
fhem("set atempval ".sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(1)))/10));
fhem("set rltempval ".sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(2)))/10));
}

Hier ist am Ende weder ein Backslash noch ein zweites Semikolon.

In der fhem.cfg würde der Code dann wie folgt aussehen:

define HeatPumpAnalogValueTimer at +*00:01:00 {\
fhem("set atempval ".sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(1)))/10));;\
fhem("set rltempval ".sprintf("%0.1f", (WORD_TO_INT(read_modbus_zaehler(2)))/10));;\
}


Gib es mal so ein, dann funktionierts. Achtung zu Beginn habe ich auch immer direkt die fhem.cfg bearbeitet, dies geht allerdings nicht lange gut ;-) Besser ist die Bearbeitung direkt im Editorfeld. Zumal es hierfür inzwischen eine Erweiterung gibt, welche Dir bereits die Syntaxfehler anzeigt.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

9876543212

Hallo Tino,
es hat geklappt!

Zwischenzeitlich hatte die geschweiften Klammern und Backslash-Zeichen auch als Unterschied identifiziert und korrigiert. Aber ich hatte es vermutlich falsch korrigiert.
DANKESCHÖN

Bislang habe ich mich ausschließlich über die Files dem Thema FHEM  genähert. Die Parametrierung über die Weboberfläche empfinde ich als recht gewöhnungsbedürftig. Nun werde mich wohl daran gewöhnen müssen und die von Dir angesprochene Erweiterung "... welche bereits die Syntaxfehler anzeigt.." suchen.

Nochmals vielen Dank.

Guten Rutsch!
Matthias

oniT

Hallo Matthias,

Danke für die Rückmeldung. Nähere Infos zum Editor findest Du hier http://www.fhemwiki.de/wiki/Konfiguration#Integrierter_Editor

Wünsche ebenfalls guten Rutsch
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Boxsti

Kann ich die Dimplex NWPM Erweiterung auch am Weishaupt Manager einsetzen oder benötige dafür eine spezielle Weishaupt Version?

Gruss Boxsti

oniT

Hallo Boxti,

ja, wenn es eine Weishaupt Wärmepumpe mit Wärmepumpenmanager ist.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Boxsti

Hei oniT

Ja, ich kann das Dimplex Modul Modul an meiner Weishaupt WP mit Weishaupt (Dimplex) Wärmepumpenmanager verwenden

oder

Ja, ich brauche eine Weishaupt Version des Moduls?

Sorry aber sag mir kurz auf was sich Dein Ja bezieht...

Besten Dank liebe Grüsse

Boxsti

oniT

Hallo Boxti,

sorry hab ich falsch verstanden. Ist Dir überlassen, es gibt keinen Unterschied in den Versionen, Du kannst die mit dem günstigsten Preis nehmen  :)

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

ak323

Hi Tino, all.
Ich habe eine Waterkotte Ai1QE laufen. Diese nutzt scheinbar ebenfalls die Carel Steuerungen pCOCompact, auch pCOweb gibt es von Waterkotte zu einem horrenden Preis.

Hast Du oder jemand anders schon mal gehört, ob die Dimplex Erweiterungskarten auch für Waterkotte funktionieren würden ?

Ich bin am überlegen, ob ich mir die Dimplex LWPM 410 Erweiterungskarte für RS485 für'n hunni kaufe und dann Modbus nutzen kann um die Werte aus meiner Waterkotte WP zu bekommen ...

Vielleicht kann man ja auch die Dimplex .pm direkt verwenden ... ?

Für Tipp und Erfahrungen wäre ich dankbar !

VG ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

oniT

Hallo,

also wenn Waterkotte in der Software den Einsatz der pCOWeb unterstützt, dann ist es egal wo man diese sich besorgt. Was man nicht weiß ist, ob Waterkotte irgend eine spezielle Firmware auf der pCOWeb hat. Was ich mir allerdings nicht vorstellen kann. Hier gab es schon einmal eine Diskussion darüber:

http://forum.fhem.de/index.php/topic,12655.msg274432.html#msg274432

Auch mit der Dimplex LWPM sollte es funktionieren, falls man in der Software bei Waterkotte das Protokoll für Modbus auswählen kann. Das musst Du halt mal in dem Handbuch nachlesen. Was ich nicht weiß, wie Du die in Dein System einbindest? Geht RS485 direkt auf den Raspi? Oder benötigst Du dann noch einen Konverter auf Modbus TCP?

h ttp://www.ebay.de/itm/New-RS232-RS485-Serial-to-TCP-IP-Ethernet-Server-Module-Converter-/271822262098?pt=LH_DefaultDomain_77&hash=item3f49de8f52

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

ak323

#46
Hi Tino,
danke für die Antwort.

Für meine Waterkotte gibt es ein "WebInterface" welches der pCOWeb von Carel ist. Ich glaube auch nicht, daß auf dem pCOWeb irgendeine spezielle Firmware ist ...

Meine Waterkotte unterstützt nativ Modbus/RTU. Alles lt. Expertendokumentation super dokumentiert (Register etc).
Um eine TCP anbindung zu bekommen würde ich eine Konverter nehmen, welchen Du ansprichst. Ich habe mir einen Moxa ausgesucht (120 €) um dann die Ethernet Verbindung zu haben und Modbus TCP zu fahren.

Was ich mich allerdings frage ist, ob der LWPM 410 ne Alternative ist oder ob man den RS485 direkt vom Carel Controller nehmen kann ? Bei mir ist da noch ein RS485 Anschluß frei am Controller, aber nicht rausgeführt ... direkt mit dem RS485 -> Ethernet Konverter dran  und dann Modbus sprechen ? Alternativ RS485 -> USB ?   ... muß ich mir Gedanken um eine galvanische Trennung machen ?
Hat das schon mal jemand so realisiert ? Waterkotte oder Dimplex ...

Danke. ak323.
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

oniT

Hallo,

also wenn Du einen Konverter für 120€ nimmst und die LWPM 410 für 110€, dann kannst Du auch die pCOWeb von Dimplex nehmen. Diese kostete gestern bei diversen Online Händlern um die 250 - 260€. Heute scheinbar schon wieder etwas mehr. Da muss Du mal bissl Zeit mitbringen und warten ;-)

Zur integrierten RS485, da gibt es ja mehrere meine ich. Da kommt es drauf an welchen pCO Waterkotte einsetzt. Wenn es die integrierte im Controller mit dem fertigen Stecker RX+/RX-/GND ist, glaube ich nicht dass diese funktioniert. Meines Wissens nach kann diese programmiert werden und im Normalfall wird die integrierte RS482 Schnittstelle mit dem Carel Modbus Protokoll belegt. Und wenn diese schon auf Modbus RTU von der Software programmiert sein sollte, dann könnte ich mir vorstellen, dass dann der Controller der Master ist. Oder aber die Schnittstelle wird von Waterkotte überhaupt nicht freigegeben. Hier wird Dir nur Waterkotte weiterhelfen können.

Gruß
Tino

BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

ak323

Hallo Tino !
Stimmt allerdings, Deine Rechnung  ... insofern hatte ich gehofft den freien RS485 Port des Carel zu nehmen und mit einem billigen RS485 -> Ethernetkonverter auszukommen ...

In der Waterkotte ist der Carel pCOcompact verbaut. Hier ist der J5 noch frei, aber wie Du sagst ist bestimmt der Controller der Master ...
J5 ist auch als pLAN bezeichnet ... da ist ja wohl der Carel spezifische Modbus ...

Waterkotte weiterhelfen ... ?!  lol .... >:(

Danke jedenfalls ...
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

oniT

Hallo Frank,

für dieses Thema wurde ein extra Thread eröffnet.

http://forum.fhem.de/index.php/topic,33086.0.html

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

FrankSch

Hallo oniT,
vielen Dank, genau das habe ich gesucht.

Gruß
Frank

Calle78

#51
Hey zusammen, ich bin nun auch stolzer Besitzer einer Dimplex NWPM Erweiterung für meine DIMPLEX WPM 2004. Es gibt bei eBay derzeit einen Verkäufer der eine Auktion bei 150,- startet (habs für 190,- statt 299,- neu geschossen) für alle die auch noch aufspringen wollen:
http://www.ebay.de/itm/Dimplex-NWPM-Erweiterung-Carel-PCO100WB0-/301786316287?hash=item4643ddbdff:g:WCMAAOSw~bFWLfN5

Zu meiner Frage:
Derzeit läuft die Software H_46 darauf. Fern ab davon, dass ich noch gar nicht weiß wie man updatet, macht ein Update Sinn um die FHEM Anbindung sauber zu machen (oder von effizienterer Einstellung der Anlage o.ä. zu profitieren)? Der Verkäufer der fragt nun nach meiner Softwareversion und ich überlege ob ich ihm noch H oder schon J sage?

danke für alle Tipps

ciao carlo
6,RPi4,Buster,HMLAN,HMIP,HUE,ZigBee,piVCCU,C868,C433,JEELINK,ESA2000,IRT1500,HMSECSC2,HMCCTC,HMSECSD,HM132030,HMSCI3FM,HMPB2WM55-2,FHT80,FBAHA,WithingsWS50,Jalousien,Siri,HMS100WD,Fritzbox,Harmony,Twilight,Weather,PushBullet,FHT-9998,HM-CC-TC,Trackr,RolloPort

Todo:ZWave(MieleOfen),LEDWIFI

oniT

Hallo Carlo,

IPX4 ist doch ein Dimplex Heizstrahler oder? Und die FLH60 ist eine Flanschheizung!

Die Frage ist zunächst, welcher WPM ist in der Wärmepumpe verbaut. Laut Dimplex Wiki braucht man mindestens den WPM 2004 und die H_H50. Und solltest Du einen WPM 2004 besitzen, hast Du Dich mal bei Dimplex schlau gemacht ob die NWPM überhaupt mit der H_46 läuft? Also die schreiben das bestimmt nicht aus Spaß könnte ich mir vorstellen ;)

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Calle78

Hi Tino, pardon Du hast natürlich Recht, das war der Nachheizer :). Also ich habe eine WPM 2004 mit H46, d.h. ich müsste auf >50 updaten oder geht das gar nicht?

ciao Carlo
6,RPi4,Buster,HMLAN,HMIP,HUE,ZigBee,piVCCU,C868,C433,JEELINK,ESA2000,IRT1500,HMSECSC2,HMCCTC,HMSECSD,HM132030,HMSCI3FM,HMPB2WM55-2,FHT80,FBAHA,WithingsWS50,Jalousien,Siri,HMS100WD,Fritzbox,Harmony,Twilight,Weather,PushBullet,FHT-9998,HM-CC-TC,Trackr,RolloPort

Todo:ZWave(MieleOfen),LEDWIFI

oniT

Hallo Carlo,

also wenn deine Anlage ohne Probleme läuft, dann würde ich kein Update machen. Ausserdem wird das bestimmt nicht einfach so möglich sein, da brauchst Du bestimmt den Kundendienst.

Die Frage ist, was ist der Unterschied an der BMS Schnittstelle zwischen der H_46 und H_H50? Eventuell sind ja nur die Datenpunkte anders, ebenso wie zwischen der H- und J- Software laut Wiki. Grundsätzlich ist es erst mal egal ob dort die Oberfläche für die H- oder J-Software drauf ist . Zur Not kannst Du das selbst erledigen. Die Beschreibung dafür steht ja auch im Dimplex Wiki. Das sollte somit eher kein Problem sein.

Was kannst Du machen? Da Du das Teil ja schon hast, dann baue es ein. Gehe bei der Installation vor wie im Wiki beschrieben und seh was passiert. Solange Du nichts darüber verstellst sondern in der Übersicht zunächst nur die Werte ausliest (wenn welche über die BMS zur Verfügung gestellt werden) kann ja nichts passieren. Ach ja, zur Vorsicht kann'st Du Dir die NWPM schon für die H-Software schicken lassen. Die Chance, dass es mit der J-Software läuft gehen ja praktisch gegen null.

Gruß
Tino

BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Calle78

So mache ich es und halte euch auf dem Laufenden. Danke Tino!

ciao Carlo
6,RPi4,Buster,HMLAN,HMIP,HUE,ZigBee,piVCCU,C868,C433,JEELINK,ESA2000,IRT1500,HMSECSC2,HMCCTC,HMSECSD,HM132030,HMSCI3FM,HMPB2WM55-2,FHT80,FBAHA,WithingsWS50,Jalousien,Siri,HMS100WD,Fritzbox,Harmony,Twilight,Weather,PushBullet,FHT-9998,HM-CC-TC,Trackr,RolloPort

Todo:ZWave(MieleOfen),LEDWIFI

Calle78

Ich würde auch sagen, das System läuft also muss ein Update nicht sein wenn die 46 trotzdem mit dem Script läuft. Ich wundere mich etwas, dass die Wärmepumpenanforderungen zu jeder Tages/Nacht bzw. Temperaturzeit anspringen. Energieeffizient wäre ja die Tanks vor allem Mittags/Nachmittags aufzuheizen wo die Luft am wärmsten ist, aber das Thema hat natürlich nichts mehr mit FHEM zu tun. Wenn jemand einen Experten in der Nähe von Aachen kennt der sowas besser konfigurieren kann wäre ich sehr interessiert :)
6,RPi4,Buster,HMLAN,HMIP,HUE,ZigBee,piVCCU,C868,C433,JEELINK,ESA2000,IRT1500,HMSECSC2,HMCCTC,HMSECSD,HM132030,HMSCI3FM,HMPB2WM55-2,FHT80,FBAHA,WithingsWS50,Jalousien,Siri,HMS100WD,Fritzbox,Harmony,Twilight,Weather,PushBullet,FHT-9998,HM-CC-TC,Trackr,RolloPort

Todo:ZWave(MieleOfen),LEDWIFI

ak323

Hallo Tino.
So jetzt habe ich mir den LWPM410 für meine Waterkotte Ai1QE gekauft ... Und sie spricht nun Modbus mit meinem Raspberry ! Jetzt erst mal alle Register konfigurieren und ich habe meine Integration in FHEM.

Danke für deine Initiative bzgl. der Dimplex Anbindung !
Die Infos von Waterkotte diesbezüglich sind ja einfach nicht existent ...

Viele Grüße ak323

PS: falls jemand ein fertig angepasstes Modbus Modul wie ModbusSET von Stefan für die Waterkotte hat, würde das meine Arbeit erleichtern  8)
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

FunkOdyssey

Auch wenn der Thread sehr alt ist:
Hast du den LWPM140 nun vollständig einbinden können?
Wie sieht denn deine Modbus-FHEM-Konfiguration aus?

ak323

Zitat von: FunkOdyssey am 13 August 2018, 23:06:52
Auch wenn der Thread sehr alt ist:
Hast du den LWPM140 nun vollständig einbinden können?
Wie sieht denn deine Modbus-FHEM-Konfiguration aus?

Ja habe ich: https://forum.fhem.de/index.php/topic,52864.msg446121.html#msg446121
VG ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...