Schreiben auf Systemvariable in CCU mit HMCCU

Begonnen von theotherhalf, 05 Dezember 2018, 10:57:32

Vorheriges Thema - Nächstes Thema

theotherhalf

Hallo!
Ich habe das Modul HMCCU schon seit langer Zeit im Einsatz um Zustände aus der CCU auszulesen und in einem Floorplan anzuzeigen. Das klappt soweit sehr gut und stabil.

Nun möchte ich über HMCCU mehrere Systemvariablen, die ich in der CCU angelegt habe beschreiben.
Ich habe versucht die Devices in FHEM anzulegen, aber irgendwie gelingt es mir nicht recht.

Könnt ihr mir einen Wink geben wie es richtig sein muss?
Ausprobiert habe ich:

define Pufferspeicher_minmin_thermisch_voll HMCCUDEV Pufferspeicher_minmin_thermisch_voll

Aber das schlägt schon fehl mit der Meldung:  Cannot detect IO device

Die Meldung selbst soll in FHEM generiert werden aus einer Temperatur, angschlossen über GPIO, wenn diese oberhalb von 75°C liegt.

Gelten für Systemvariablen nicht HMCCUDEV?
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

theotherhalf

Bin nach einiger Zeit Recherche nun drauf gestossen. Mit:

set CCU var Pufferspeicher_max_thermisch_voll    und dem Wert 1 oder 0 am Ende kann ich die Variable aus FHEM setzen.

Könnt ihr mir einen Hinweis geben wie ich das nun sinnvollerweise und am einfachsten mit den GPIO Temperaturfühlern verknüpfe? Habe keine Erfahrung mit Skripten.... :-[
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

theotherhalf

...und schon wieder einen Schritt weiter...  :)

Mit dem Kommando:  set CCU var Pufferspeicher_maxmax_thermisch_voll 0        oder        set CCU var Pufferspeicher_maxmax_thermisch_voll 1        schaffe ich es die Variable manuell zu setzen.

Mit dem Kommando:   define Speicher_maxmax_zur_HomematicCCU_Systemvariable at +*00:03 { if ( "Speicher_maxmax" ge "70" ) { fhem("set CCU var Pufferspeicher_maxmax_thermisch_voll 1") } else { fhem("set CCU var Pufferspeicher_maxmax_thermisch_voll 0")}}   habe ich das Device setzen können und eine zeitliche Abfrage triggern können. Der Wert des Sensors ist derzeit 55°C und es wird dennoch eine "1" gesendet.

Was mache ich noch falsch?
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

theotherhalf

und noch einen Fehler entdeckt

define Speicher_maxmax_zur_HomematicCCU_Systemvariable at +*00:03 { if ( "Speicher_maxmax:temperature" ge "75" ) { fhem("set CCU var Pufferspeicher_maxmax_thermisch_voll 1") } else { fhem("set CCU var Pufferspeicher_maxmax_thermisch_voll 0")}}

Hatte das :temperature nach dem Sensor vergessen. Dennoch wird alle 3 Minuten eine "1" gesendet. Bei einem derzeitigen Wert des Sensors von 61 Grad sollte 0 gesendet werden, oder?

Es wäre wirklich toll wenn einer von euch Profis mir einen Hinweis geben könnte. Danke!
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

zap

Die 75 mal ohne ,," angeben?
Um den Fehler bei HMCCU auszuschließen, setze den Wert 1 oder 0 mal bei einem Dummy Device. Wenn es da auch nicht funktioniert, solltest du deine Frage in einem anderen Unterforum stellen
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

theotherhalf

Die " " waren es auch nicht....

Haben eben mal die bedingung von ge auf lt geändert. Prompt war das Ergebnis 0, also ein Sprung in die else Klammer.
Ich denke, dass mit der Syntax etwas nicht stimmt.

btw: Wenn ich den Wert des GPIO Sensors als Zahl in die CCU schieben will, wie wäre dann der befehl wenn das alle 3 Minuten ablaufen soll. So ?

set CCU var Pufferspeicher_max_thermisch_voll Speicher_max:temperature

Es kommt nämlich in der CCU nichts an
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

zap

es kommt nichts an, weil versucht wird, in den Text Speicher_max:temperature in eine vermutlich nummerische CCU Systemvariable zu schreiben.
set var wertet den Ausdruck nicht vor der Ausführung aus. Du musst Dir den set Befehl vorher selbst zusammenbauen und zB ReadingsVal verwenden, um dem Readingwert zu ermitteln.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

theotherhalf

kannst du mir etwas auf die Sprünge helfen?

Es sollte der Wert des One Wire Sensors  "Speicher_max  Temperatur" auf die CCU Systemvariable "Pufferspeicher_max_Temperatur" geschrieben werden.

Die Systemvariable in der CCU ist als "Zahl" definiert.
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

zap


sowas halt

fhem("set CCU var ...." .  ReadingsVal(...))
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

theotherhalf

Du meinst so?

{ fhem("set CCU var Temperatur_Pufferspeicher_max" .  ReadingsVal("Speicher_max","temperature",""))}
FHEM Anfänger
HM CCU2 mit diversen Komponenten als Steuerung
FHEM mit Floorplan auf Raspi 3 (Raspbian Jessie)  zur Visualisierung (Heizung, Zustände, etc.) und angeschlossenen One-Wire Sensoren
Schnittstelle CCU2 - FHEM mit HMCCU
EBUSD Applikation auf Raspi 2 mit Anbindung an Vaillant Heizung

zap

Zitat von: theotherhalf am 06 Dezember 2018, 12:19:05
Du meinst so?

{ fhem("set CCU var Temperatur_Pufferspeicher_max" .  ReadingsVal("Speicher_max","temperature",""))}

Fast:

{ fhem("set CCU var Temperatur_Pufferspeicher_max " .  ReadingsVal("Speicher_max","temperature",0))}

Noch ein Leerzeichen nach _max ergänzt und Default für ReadingsVal auf Zahl gesetzt.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Wuppi68

ist nen klassischer Doppelpost ... der andere Fred ist schon gelöst
FHEM unter Proxmox als VM