CCU3 (RaspberryMatic), FHEM, HMCCUDEV, virtuelle Temp.-Sensoren, HmIP-FALMOT-C12

Begonnen von twinFHEM, 16 Februar 2020, 13:30:41

Vorheriges Thema - Nächstes Thema

twinFHEM

Hallo zusammen,

mein Charly ist erfolgreich mit HMCCU in FHEM eingebunden. Ein erster physischer Schalter (HMIP) ist über HMCCUDEV eingeracht und funktioniert ebenfalls.
Nun möchte ich einen Fußbodenheizungsaktor von HM (HmIP-FALMOT-C12) einbinden und vorab Temperaturen von FHEM in die CCU bringen.

Ich habe mich also eingelesen, für den CUX-Daemon (v.2.3.4) entschieden und zunächst zwei CUxD-Geräte (Typ 90) als virtuelle Wandthermostate installiert.
Diese sind auf der HM-GUI unter Geräte aufgeführt. Allerdings bekomme ich diese nicht in FHEM. Ich bekomme beim define immer die Fehlermeldung "Cannot detect IO device".
Im HCCUDEV-Wiki steht, dass virtuelle Geräte nur über Gruppen eingerichtet werden können. Hier wird allerdings von der CCU2 gesprochen.
Ist das Wiki noch aktuell? Kann ich mich daran halten?

Außerdem habe ich, wie oft beschrieben, versucht, Daten in der CCU via URLs, Links, etc. zu speichern. War nicht wirklich zufriedenstellend...
Beim der weiteren Recherche bin ich auf einen Beitrag von zap gestossen. Dort wurde gesagt, dass man alles über HMCCUDEV steuern kann, also CUxD, Hooks und andere Hilfsmittel
nicht von Nöten sind. Ist das der Fall bzw. habe ich das richtig verstanden?

Könnt ihr mir auf die Spur helfen, ein paar Links oder Tipps geben. Mit HM bin ich ganz neu auf der Bahn.
Man wird dermaßen mit Infos überschwemmt, probiert viel aus und weiß nicht wirklich, was richtig ist.

Vielen Dank & viele Grüße!


zap

Ich kann Dir jetzt natürlich erklären, wie Du die CUxD Geräte in FHEM bekommst. Zuerst würde mich aber interessieren, was Du mt den Temperaturwerten machen willst. Vermutlich willst Du in Abhängigkeit von den Werten die Heizung regeln.

Wenn die Temperaturen von Homematic Sensoren stammen, kannst Du die in der CCU mit dem Fußbodenheizung Aktor in einer virtuellen Gruppe verknüpfen.

Eine andere Möglichkeit wäre, einfach in FHEM mit DOIF die Sensoren abzufragen und die Heizung zu steuern.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

twinFHEM

Hallo zap,

schön, dass Du schreibst. Genau, mit den Temperaturen möchte ich die Heizung regeln. Ich habe Thermostate, deren Temperatur und Luftfeuchtigkeit ich per HTTPMOD in FHEM auslese.
Diese Werte möchte ich nun alle 10 min. in den CCU3-Dummies speichern. Ich habe keine HM-Thermostate, da sie leider überhaupt nicht in das Wohnkonzept passen und ich halt auch schon welche habe.

Alternativ könnten die Temperaturen direkt von der Thermostat-GUI bzw. Seite in die CCU importiert werden.
Wäre das die bessere Lösung?

ZitatEine andere Möglichkeit wäre, einfach in FHEM mit DOIF die Sensoren abzufragen und die Heizung zu steuern.
Dazu muss die Device vorher mit HMCCUDEV oder HMCCUCHN definiert werden, oder!?

Ist CUx überflüssig?

Danke Dir!

twinFHEM

Habe mich nochmal ans Wiki gemacht.
Nach get devicelist konnte ich die HM-Devices ohne Probs in FHEM definieren. *freudestrahl*

get deviceinfo gibt mir Folgendes aus:

CHN CUX9002001:0 Bad_EG_Temp:0
  DPT {b} CUxD.CUX9002001:0.UNREACH = false [RE]
CHN CUX9002001:1 Bad_EG_Temp:1
  DPT {f} CUxD.CUX9002001:1.TEMPERATURE = 0.000000 [RE]
  DPT {i} CUxD.CUX9002001:1.HUMIDITY = 0 [RE]
  DPT {f} CUxD.CUX9002001:1.HUMIDITYF = 0.000000 [RE]
  DPT {f} CUxD.CUX9002001:1.DEW_POINT = 0.000000 [RE]
  DPT {f} CUxD.CUX9002001:1.ABS_HUMIDITY = 0.000000 [RE]
  DPT {f} CUxD.CUX9002001:1.TEMP_MIN_24H = 0.000000 [RE]
  DPT {f} CUxD.CUX9002001:1.TEMP_MAX_24H = 0.000000 [RE]
  DPT {f} CUxD.CUX9002001:1.HUM_MIN_24H = 0.000000 [RE]
  DPT {f} CUxD.CUX9002001:1.HUM_MAX_24H = 0.000000 [RE]
  DPT {f} CUxD.CUX9002001:1.SET_TEMPERATURE =  [W]
  DPT {f} CUxD.CUX9002001:1.SET_HUMIDITY =  [W]
  DPT {b} CUxD.CUX9002001:1.INSTALL_TEST = false [RW]
CHN CUX9002001:2 Bad_EG_Temp:2
  DPT {f} CUxD.CUX9002001:2.SETPOINT = 20.000000 [RWE]
  DPT {b} CUxD.CUX9002001:2.STATE = false [RE]
  DPT {f} CUxD.CUX9002001:2.LEVEL = 0.000000 [RE]
  DPT {b} CUxD.CUX9002001:2.SET_INVERT = false [RWE]
  DPT {b} CUxD.CUX9002001:2.INSTALL_TEST = false [RW]
CHN CUX9002001:3 Bad_EG_Temp:3
  DPT {b} CUxD.CUX9002001:3.STATE = false [RE]
  DPT {b} CUxD.CUX9002001:3.INSTALL_TEST = false [RW]


Ich habe bisher Konstrukte wie "set d_Bad_EG_Temp_HM datapoint CUX9002001:1.TEMPERATURE 12.13" in div. Varianten ausprobiert.
Muss ich in FHEM weitere Attribute setzen? ich möchte zwar erst nur in die CCu schreiben, aber ich denke, es fehlt etwas:

Internals:
   CFGFN     
   DEF        Bad_EG_Temp defaults
   FUUID      5e4948a0-f33f-b102-eb0c-2637f3674a7d15f7
   IODev      d_CCU3
   NAME       d_Bad_EG_Temp_HM
   NR         26841
   STATE      Initialized
   TYPE       HMCCUDEV
   ccuaddr    CUX9002001
   ccudevstate active
   ccuif      CUxD
   ccuname    Bad_EG_Temp
   ccutype    CUX-HM-CC-TC
   channels   4
   statevals  devstate
   READINGS:
     2020-02-16 14:50:24   state           Initialized
   hmccu:
     devspec    Bad_EG_Temp
Attributes:
   IODev      d_CCU3
   ccureadingformat datapoint
   event-on-change-reading .*
   room       Badezimmer,HM


Mmmh...

zap

Also: Du hast Deine FB Heizung als HMCCUDEV Device in FHEM, korrekt?
Und Du hast Deine Temperatursensoren als Devices in FHEM, ja?

=> Du erstellst DOIF Regeln, die bei bestimmten Änderungen der TEmperatursensoren das HMCCUDEV Device steuern.

Du brauchst CUxD nicht, es hilft auch nicht, da Du CUxD Devices in der CCU nicht mit BidCos oder HmIP Devices verknüpfen kannst (es sei denn, per Script. Das wäre aber sehr (sehr) umständlich.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

twinFHEM

Die Temperatursensoren bzw. Temperaturen kommen im JSON-Format in FHEM (HTTPMOD) und werden in einem entsprechenden Reading ausgegeben.
Die Heizung ist noch nirgends. Der Plan ist/war, letztendlich alles in FHEM zu integrieren und zu schalten.

Ein zweiter (vermeintlich einfacher) Gedanke war, die IST- und SOLL-Temperatur zur CCU zu schicken, die dann alles "selbst" regelt. Zudem habe ich gelesen,
das in der CCU zwingend Temperatursensoren, ggf. virtuell vorhanden sein müssen.

ZitatDu brauchst CUxD nicht, es hilft auch nicht, da Du CUxD Devices in der CCU nicht mit BidCos oder HmIP Devices verknüpfen kannst (es sei denn, per Script. Das wäre aber sehr (sehr) umständlich.
Heißt, dass ich den Fussbodenheizungsaktor NICHT mit den virtuellen Thermostaten verbinden kann? :o

Vielen Dank!

zap

Zitat von: twinFHEM am 16 Februar 2020, 17:23:49
Ein zweiter (vermeintlich einfacher) Gedanke war, die IST- und SOLL-Temperatur zur CCU zu schicken, die dann alles "selbst" regelt. Zudem habe ich gelesen, das in der CCU zwingend Temperatursensoren, ggf. virtuell vorhanden sein müssen.

Das ist mir neu.

Zitat
Heißt, dass ich den Fussbodenheizungsaktor NICHT mit den virtuellen Thermostaten verbinden kann? :o

Korrekt.

Nochmal die Vorgehensweise, die ich empfehlen würde:

1. FB-Aktor in der CCU anlernen
2. Device für den FB-Aktor in FHEM definieren. Wenn der Aktor mehrere Heizkreise steuert und je Heizkreis einen Kanal hat, würde ich dafür HMCCUCHN verwenden. Ansonsten HMCCUDEV. Aber lege erst mal eine HMCCUDEV an. Dann können wir uns den Aktor im Detail anschauen.
3. Du legst DOIFs an, die in Abhängigkeit von den Readings mit den Temperaturen in den HMCCUDEV oder HMCCUCHN Devices die Temperatur regeln.

Du könntest das alles in der CCU machen, wenn Du nur HmIP Geräte verwendest (für Temperatursensor UND FB-Aktor).
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

twinFHEM

Ok, es geht los!

Ich habe den HmIP-FALMOT-C12 mit HMCCUDEV angelegt und attr ccureadingformat auf datapoint gesetzt.
Zur Ansicht erstmal die deviceinfo von Kanal 0 (mit allgemeinen Konfigurationsmöglichkeiten) und dem Ersten von 12 Kanälen:

CHN 001B9AXXXXXXXX:0 HmIP-FALMOT-C12 001B9AXXXXXXXX:0
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.DATE_TIME_UNKNOWN = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.DUTY_CYCLE = false [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:0.HEATING_COOLING = 0 [RWE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.HUMIDITY_ALARM = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.INSTALL_TEST = true [RW]
  DPT {f} HmIP-RF.001B9AXXXXXXXX:0.OPERATING_VOLTAGE = 0.000000 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:0.OPERATING_VOLTAGE_STATUS = 0 [RE]
  DPT {n} HmIP-RF.001B9AXXXXXXXX:0.RSSI_DEVICE = 208 [RE]
  DPT {n} HmIP-RF.001B9AXXXXXXXX:0.RSSI_PEER = 0 [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.TEMPERATURE_LIMITER = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:0.UPDATE_PENDING = false [RE]

CHN 001B9AXXXXXXXX:1 HmIP-FALMOT-C12 001B9AXXXXXXXX:1
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.DEW_POINT_ALARM = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.EMERGENCY_OPERATION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.EXTERNAL_CLOCK = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.FROST_PROTECTION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.HUMIDITY_LIMITER = false [RE]
  DPT {f} HmIP-RF.001B9AXXXXXXXX:1.LEVEL = 0.000000 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:1.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:1.VALVE_STATE = 4 [RE]


Mmh, ist ehrlich gesagt weniger als ich erwartet habe...
Und ein paar Ws vermisse ich auch! ;)

Na, mal sehen...

twinFHEM

Habe die Attribute angepasst:
Zitat
Attributes:
   IODev      d_CCU3
   ccureadingfilter .*
   ccuscaleval LEVEL:0:1:0:100
   room       HM

Vom FB-Aktor werden alle Daten in FHEM übertragen. Der Befehl set pct wird mir allerdings nicht angezeigt (s. Wiki).
Ist das Ventil geöffnet, wird das nun bei LEVEL mit 100 quittiert. Ansonsten mit 0.

Btw habe ich da so eine Befüchtung; ich habe mir den HmIP-FALMOT-C12 wegen den motorischen Stellantrieben besorgt.
Die Zustände sollen halt nicht nur auf und zu sein, sondern eine vom FB-Aktor(!) berechnete stufenlose Ventilposition einnehmen, die einen gleichmäßigen Wäremedurchfluss ermöglicht.
Bekommt man das im Zusammenspiel mit FHEM überhaupt hin?


zap

Poste mal die Ausgabe von get deviceinfo zumindest für die Kanäle 1-4.
Wieviele Heizkreise kann der Aktor steuern?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Gerhard

Hi
ich lese hier mit, ich habe gerade zwei HmIP-FALMOT-C12 bekommen (noch nicht eingebaut, erst in Mai) mit 24 antrieben.
Umgebung: piVCCU3 (mit FHEM!) FRITZ!BOX 6890 LTE HMIP Wandthermostate, FBH mit 24 Kreise auf 2 Etagen, etc., Alles noch auf dem Schreibtisch.
@twin FHEM: Würde gerne nach deine Erfahrungen meine 2x HmIP-FALMOT-C12 in FHEM integrieren und mit testen.

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Gerhard

@zap: die HmIP-FALMOT-C12 kann 12 motorische Antriebe (0 - 100%) Steuern/Regeln.
Die Sool/Ist-Werte bekommt er über CHN von HMIP Thermostate.
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

twinFHEM

Guten Morgen zap,

mit dem Aktor sind 12 FB-Heizkreise zu regeln.
Hier die ersten 5 (1-4 sind mit einem Stellmotor verbunden):

CHN 001B9AXXXXXXXX:1 HmIP-FALMOT-C12 001B9AXXXXXXXX:1
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.DEW_POINT_ALARM = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.EMERGENCY_OPERATION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.EXTERNAL_CLOCK = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.FROST_PROTECTION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:1.HUMIDITY_LIMITER = false [RE]
  DPT {f} HmIP-RF.001B9AXXXXXXXX:1.LEVEL = 0.000000 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:1.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:1.VALVE_STATE = 4 [RE]
CHN 001B9AXXXXXXXX:2 HmIP-FALMOT-C12 001B9AXXXXXXXX:2
  DPT {b} HmIP-RF.001B9AXXXXXXXX:2.DEW_POINT_ALARM = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:2.EMERGENCY_OPERATION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:2.EXTERNAL_CLOCK = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:2.FROST_PROTECTION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:2.HUMIDITY_LIMITER = false [RE]
  DPT {f} HmIP-RF.001B9AXXXXXXXX:2.LEVEL = 0.000000 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:2.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:2.VALVE_STATE = 4 [RE]
CHN 001B9AXXXXXXXX:3 HmIP-FALMOT-C12 001B9AXXXXXXXX:3
  DPT {b} HmIP-RF.001B9AXXXXXXXX:3.DEW_POINT_ALARM = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:3.EMERGENCY_OPERATION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:3.EXTERNAL_CLOCK = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:3.FROST_PROTECTION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:3.HUMIDITY_LIMITER = false [RE]
  DPT {f} HmIP-RF.001B9AXXXXXXXX:3.LEVEL = 0.000000 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:3.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:3.VALVE_STATE = 4 [RE]
CHN 001B9AXXXXXXXX:4 HmIP-FALMOT-C12 001B9AXXXXXXXX:4
  DPT {b} HmIP-RF.001B9AXXXXXXXX:4.DEW_POINT_ALARM = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:4.EMERGENCY_OPERATION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:4.EXTERNAL_CLOCK = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:4.FROST_PROTECTION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:4.HUMIDITY_LIMITER = false [RE]
  DPT {f} HmIP-RF.001B9AXXXXXXXX:4.LEVEL = 0.000000 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:4.LEVEL_STATUS = 0 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:4.VALVE_STATE = 4 [RE]
CHN 001B9AXXXXXXXX:5 HmIP-FALMOT-C12 001B9AXXXXXXXX:5
  DPT {b} HmIP-RF.001B9AXXXXXXXX:5.DEW_POINT_ALARM = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:5.EMERGENCY_OPERATION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:5.EXTERNAL_CLOCK = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:5.FROST_PROTECTION = false [RE]
  DPT {b} HmIP-RF.001B9AXXXXXXXX:5.HUMIDITY_LIMITER = false [RE]
  DPT {f} HmIP-RF.001B9AXXXXXXXX:5.LEVEL =  [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:5.LEVEL_STATUS = 1 [RE]
  DPT {i} HmIP-RF.001B9AXXXXXXXX:5.VALVE_STATE = 7 [RE]


Mich würde interessieren, wie so ein HMIP-Wandthermostat funktioniert.
Schickt er dem FB-Aktor eine Temperatur, eine Ventilposition oder einfach nur heizen und der FB-Aktor berechnet bzw. lernt alles?

Zudem hänge ich einen Auszug aus der HmIP_Device_Documentation an. Hier werden die möglichen Stati von LEVEL_STATUS und VALVE_STATE angegeben.
Bei Parameter LEVEL wird als max 1.01 angegeben. Hat das etwas zu bedeuten? Muss ccuscaleval entsprechend geändert werden?

@Gerhard:
Klar, gerne. Umso besser kann man sich austauschen. So breit vertreten ist der HmIP-FALMOT-C12 (noch) nicht.
Ich glaube, Guzzi-Charlie hat noch einen...


zap

Mein Problem mit den Datenpunkten in den Kanälen ist: Sie sind alle Read-Only (RE = Read Event). Über diese Datenpunkte können also nur Statusinformation abgerufen werden. Eine Steuerung ist nur mit Datenpunkten möglich, die das W Flag gesetzt haben.

Davon sehe ich aber nur einen in Kanal 0, der irgendwas mit Heizungs zu tun haben könnte:

  DPT {i} HmIP-RF.001B9AXXXXXXXX:0.HEATING_COOLING = 0 [RWE]

Kannst Du mal einen Screenshot vom WebUI der CCU schicken? Von der Seite, auf der Du den Aktor steuern kannst.

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Gerhard

@twinFHEM: da meine antriebe noch nicht eingebaut sind, kann ich sie so einfach auf dem Tisch an HmIP-FALMOT-C12 anschliessen?

habe irgondwo gelesen, mann sollte sie nur in eingebautem Zustand anschliessen, da Referenzfahrt beim einschalten folgt?
Wenn es ginge, könnte ich Alles testen.
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.