[gelöst]Ventilposition von MAX-Thermostat an FHT-8V senden

Begonnen von MAC66666, 28 September 2016, 14:38:43

Vorheriges Thema - Nächstes Thema

MAC66666

Hi, nachdem ich mir FHEM mal im Januar angeschaut und verworfen hatte, bin ich jetzt wieder dran, da ich auch andere Dinge mit FHEM steuere... Immerhin hab ich meine Rollos per Twilight gesteuert bekommen mit null Ahnung. Nur jetzt brauche ich einen Schubser...

Mit den Befehlen habe ich noch so meine Grundverständnisprobleme...

Im Grundegenommen will ich was ganz einfaches:

TWZli=Max Thermostat (Per umgeflashtem MaxCube direkt per CULMAX angebunden)
TWZre=FHT Thermostat (per umgeflashtem MaxCube im SlowRF Modus angebunden)

Der Wert von "ValvePosition" (1-100) vom TWZli soll als Wert "Valve" an TWZre gesendet werden. Möglichst on-the-fly wenn eine Änderung vorliegt (bzw. FHEM eine mitbekommt) oder in Intervallen, fals ich an die 1% Regelung komme...

Das war's schon, fast peinlich danach zu fragen... Danke! ;-)
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

MAC66666

#1
Habe das hier gefunden, leider gings da irgendwann nicht weiter:

https://forum.fhem.de/index.php/topic,30140.msg264865.html#msg264865

ich hab ein notify angelegt wie dort beschrieben, es wurde der Wert richtig angezeigt. Dann habe ich es versucht umzubauen:

TWZli:valveposition.* set TWZre valve $EVTPART1
(in verschiedenen Varianten)

aber ich bekam das:

2016.09.28 20:48:52 3: Change_TWZ return value: Set valve needs a numeric parameter between 0 and 100


Hmmmm....
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

MAC66666

Wenn ich nur

TWZli:valveposition.* set TWZre $EVTPART1

eingebe, bekomme ich

2016.09.28 20:59:59 3: Change_TWZ return value: Unknown argument 0

0 ist doch ne Null, wqarum nimmt er denn dann

TWZli:valveposition.* set TWZre valve $EVTPART1

nicht?


FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

MAC66666

#3
Hier noch mal das Test-Auswert-Notify aus dem Link, an mich angepasst, funktioniert:

TWZli.valveposition.* {
Log(3,"Event: $EVENT");
Log(3,"Teilevent: $EVTPART1");
}


was mir an Raffung im Kopp fehlt: Was bedeutet das "Log(3" usw? für was ist Log? Hab irgendwas bzgl. Perl und Logarythmus gelesen, aber werde nicht schlau draus... Hat das mit meinem Problem zu tun?
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

mahowi

Das hat nix mit Logarithmen zu tun.  :D

Log() schreibt Einträge ins Logfile, die Zahl gibt den Loglevel an. Standardmäßig ist der Loglevel auf 3 eingestellt (verbose 3). Dein Notify schreibt also $EVENT und $EVTPART1 mit.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

MAC66666

Oh mann, danke... ich dachte die ganze Zeit, das muss irgendwas mit der Ausgabe im Logfile zu tun haben, so a la print oder echo oder so... Aber an die Verbindung Log zu Logfile hab ich überhaupt nicht gedacht, ich war wieder viel zu kompliziert unterwegs, Totalausfall quasi...

ja, ist spät ;-)

dann zurück zu meinem Problem: jemand ne Idee? Bei anderer Ventilposition bekomme ich auch die Nachricht, dass es kein numerischer Wert wäre... aber es wird eine Zahl ausgespuckt, verdammt...

Oder ist die Zahl vieleicht ein String, also Text, und er kann deswegen nichts damit Anfangen?

FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

MAC66666

#6
Nee, das ist es auch nicht:

Hatte mal kurz direkt einen Wert hinterlegt:

TWZli:valveposition.* set TWZre valve 50

Effekt:

2016.09.29 10:03:24 3: Change_TWZ return value: Set valve needs a numeric parameter between 0 and 100

aber

set TWZre valve 50

eingegeben funktioniert... Wo hab ich meinen Fehler?
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

mahowi

Kannst Du mal das komplette Notify "Change_TWZ" anhängen? Sollte eigentlich so ähnlich aussehen:
define Change_TWZ notify TWZli:valveposition.* {
  Log(3,"Event: $EVENT");
  Log(3,"Teilevent: $EVTPART1");
  set TWZre valve $EVTPART1;
}
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

MAC66666

#8
Ich habs, es geht!

danke, auch wenn Du nicht weisst, dass Du mir geholfen hast, hast Du es gerade sehr! Dadurch, dass Du noch mal ein komplettes "define" geschrieben hast, hab ich noch mal was ausprobiert...

also, mein define war:

define Change_TWZ notify TWZli:valveposition.* set TWZre valve $EVTPART1

ging nicht... dann hab ich ein Semikolon drangehängt, geht!!!!!

War mir so nicht klar... Warum?
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

MAC66666

Also, falls es noch mal jemand braucht:
Lösung:

define MAXzuFHT notify MAX-Thermostat:valveposition.* set FHT-8V-Thermostat valve $EVTPART1;
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

mahowi

Ja, die Sache mit den Semikolons ist immer so eine Sache. Ehrlich gesagt weiß ich auch nicht genau, wann ein einfaches, doppeltes oder gar kein Semikolon gesetzt wird.

Laut Anleitung im Wiki bräuchte man hier keins. Im Normalfall wird ein Semikolon als Abschluß eines Perl-Befehls gesetzt, wenn danach noch weitere kommen.

Aber schön, wenn es jetzt funktioniert.  :)
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

MAC66666

Toll, jetzt ist mir der FHT mit lautem Piepen weggeflogen, als ich einen zweiten anlernen wollte ;-) Egal, das ist lösbar...

Danke noch mal!
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota