Heizungssteuerung mit FHT8V

Begonnen von frankie93, 28 Dezember 2013, 15:45:36

Vorheriges Thema - Nächstes Thema

frankie93

Hallo,

ich habe einen Stellantrieb FHT8V, den ich mit den Befehlen (Beispiel) set COC raw T12340126FF oder set stellantrieb.01 valve 100
auf den Stellwert 100% einstellen kann. Dies funktioniert auch einwandfrei.
Ich möchte aber den Stellwert berechnen (aus verschiedenen Parametern) und den berechneten Wert einer Variablen zuweisen. Über diese Variable soll dann das Ventil gesteuert werden.
Also so ähnlich wie nachstehend:
set stellantrieb.01 valve stellwert  (wobei stellwert die variable ist).
Beim Speichern kommt es jetzt zu der Fehlermeldung, daß hinter valve ein Wert zwischen 0 und 100 stehen muß, also keine Variable möglich ist.

Hat jemand eine Idee, wie das Ventil über eine Variable gesteuert werden kann ?

Bernhard

Zitat von: frankie93 am 28 Dezember 2013, 15:45:36

set stellantrieb.01 valve stellwert  (wobei stellwert die variable ist).


set stellantrieb.01 valve $stellwert

Aber warum nimmst nicht das Modul PID  zum rechnen?

frankie93

mit
set stellantrieb.01 valve $stellwert
geht es auch nicht.

Hier kommt auch die Fehlermeldung:
Set valve needs a numeric parameter between 0 and 100

Bernhard

dann ist vermutlich ein gebrocherner Wert drin.
Stelle sicher, dass nur ganzzahlige Werte übergeben werden.

frankie93

in der variable steht nur ein ganzzahliger Wert

schon beim Speichern der fhem.cfg kommt die beschriebene Fehlermeldung (also ein Syntaxfehler)

Bernhard

dann muss schon genauer beschreiben, wie die Anweisung verpackt ist, in notify, at, ...   oder einfach nur so in der fhem.cfg

frankie93

zum Ausprobieren habe ich es nur so in der fhem.cfg stehen.

also so:
define stellantrieb.01 FHT8V 1234
attr stellantrieb.01 room Heizungen

define stellwert dummy
set stellwert 30

set stellantrieb.01 valve $stellwert

Bernhard

na dann ists klar.
Vorab, ich weiss jetzt nicht, ob man ein "set xxx" jetzt so einfach in die fhem.cfg setzen kann.
Aber du könntest das in ein notify packen
etwa

define X_init notify global:INITIALIZED {\
  fhem "set stellwert 30";;\
  my $soll=ReadingsVal("stellwert","state","0")+0;;\
  fhem "set stellwert $soll";;\
}

frankie93

ja, aber wie bekomme ich jetzt den Inhalt der Variable $soll in den Stellantrieb 

Bernhard

z.b.  do oben in dem notify   mit einem zusätzlichen   

    fhem "set stellantrieb.01 valve $soll"

frankie93

Danke Bernhard für Deine Hilfe.
Es funktioniert