Z-Wave Thermostat Eurotronic Spirit

Begonnen von mthome, 06 Oktober 2017, 07:24:59

Vorheriges Thema - Nächstes Thema

mthome

Halllo zusammen,

ich habe mir das neue Thermostat geholt und in FHEM eingebunden. Wie zu erwarten war, habe ich dafür noch keine XML Dateien gefunden.

Also dachte ich mir, ich wage mich mal daran. Leider hat es nicht den erhofften Erfolg gebracht. Wie ich die Anleitung verstanden habe müssen zwei Datien angepasst werden:
openzwave_manufacturer_specific.xml" und "openzwave_deviceconfig.xml.gz"

openzwave_manufacturer_specific.xml habe ich wie folgt erweitert:
<Manufacturer id="0148" name="EUROtronic">
                <Product type="0003" id="0001" name="EUR_SPIRIT Thermostat" config="eurotronic/eur_spirit.xml"/>
        </Manufacturer>


openzwave_deviceconfig.xml.gz habe ich wie folgt erweitert:
<Product sourceFile="eurotronic/eur_spirit.xml">
        <!-- BASIC -->
        <CommandClass id="32" >
                <Value type="list" genre="user"  instance="1" index="0" label="BasicFunction" min="0" max="254" value="0" size="1">
                        <Item label="Off" value="15" />
                        <Item label="Heat" value="254" />
                        <Item label="Heat Econ" value="0" />
                        <Item label="Full Power" value="240" />
                </Value>
        </CommandClass>
        <!-- THERMOSTAT_MODE -->
        <CommandClass id="64" >
                <Value type="byte" genre="config" index="1" label="Mode" units="" min="0" max="15" value="0">
                <Help> 0=Off, 1=Heat, 11=Eco, 15=FullPower </Help>
                </Value>
        </CommandClass>
        <!-- THERMOSTAT_SETPOINT -->
        <CommandClass id="67">
                <Value type="decimal" genre="config" index="1" label="ComfortSetpoint" units="C" value="23"/>
                <Value type="decimal" genre="config" index="11" label="EnergySavingSetpoint" units="C" value="18"/>
        </CommandClass>
        <!-- Configuration Parameter -->
        <CommandClass id="112">
                <Value type="byte" genre="config" index="1" label="LCDInvert" units="" value="0"/>
                <Value type="byte" genre="config" index="2" label="LCDTimeout" units="" value="0"/>
                <Value type="byte" genre="config" index="3" label="Backlight" units="" value="1"/>
                <Value type="byte" genre="config" index="4" label="BatteryReport" units="" value="1"/>
                <Value type="byte" genre="config" index="5" label="MeasuredTempReport" units="" value="5"/>
                <Value type="byte" genre="config" index="6" label=ValveopenReport"" units="" value="0"/>
                <Value type="byte" genre="config" index="7" label="WindowOpenDetect" units="" value="2"/>
                <Value type="byte" genre="config" index="8" label="TempOffset" units="" value="0"/>
        </CommandClass>

</Product>


Jetzt endlich meine Fragen:
- Leider habe ich ausser dass model bzw. modelconfig angezeigt wird nicht viel erreicht. Mache ich hier einen grundsätzlichen Fehler?
- Was macht Attribut instance="1" in command class BASIC (habe ich so aus dem vorhanden Eintrag von ""eurotronic/eur_cometz.xml" übernommen)?

Vielen Dank im Voraus

PS: get model habe ich nach den Änderungen ausgeführt

krikan

Zitat- Leider habe ich ausser dass model bzw. modelconfig angezeigt wird nicht viel erreicht. Mache ich hier einen grundsätzlichen Fehler?
Kann keinen erkennen.
In der Ergänzung der openzwave_deviceconfig.xml.gz ist ein XML-Fehler bei den ".
Falsch:
<Value type="byte" genre="config" index="6" label=ValveopenReport"" units="" value="0"/>
Richtig:
<Value type="byte" genre="config" index="6" label="ValveopenReport" units="" value="0"/>

Habe die Dateien mit der Korrektur eingebunden und es werden die entsprechenden configXY-Befehle angeboten. Die Datei ist mir aber zum Einchecken zu knapp, da es keinerlei Hilfetexte gibt und auch die möglichen Werte(-bereiche?) nicht erkennbar sind. Wenn Du das noch erweitern möchtest und hier zur Verfügung stellst, kann ich es einchecken.
Zitat
- Was macht Attribut instance="1" in command class BASIC (habe ich so aus dem vorhanden Eintrag von "eurotronic/eur_cometz.xml" übernommen)?
Hat nur für openzwave und nicht für FHEM eine Bedeutung. Für FHEM sind iW nur Angaben zur CONFIGURATION und ASSOCIATION wichtig. Bei den ZWavePlus-Devices, wie dem Spirit, normalerweise auch nur noch die CONFIGURATION.

Gruß, Christian

mdescher

Habe mir ebenfalls den Spirit gekauft. Kann es sein, dass oben noch ein Fehler bei BASIC ist?

<Item label="Heat" value="254" />

Laut Doku müsste das meiner Meinung nach 255 sein. Die 254 ist "Manufacturer Specific" ("Wechseln in den Stellwerte-Betrieb"), oder seh ich das falsch?

Habe leider noch gar keine Ahnung wie die XMLs aufgebaut sind, aber mich würde vor allem interessieren wie ich eine extern gemessene Temperatur einsteuern kann (Config 8 auf 0x80 "Temperatur wird extern bereitgestellt"). Die Temperatur kommt bei mir nicht von Z-Wave Devices, müsste also bei erkannten Änderungen von z.B. 0,5 Grad durch FHEM gesetzt werden.

Wenn hier jemand einen Hinweis hat, immer gerne. Werde aber auch selber nochmal weitersuchen. :-)

Gruß
Michael

krikan

ZitatKann es sein, dass oben noch ein Fehler bei BASIC ist?
Keine Ahnung. Wenn das ein Wert/Parameter der Class CONFIGURATION ist, wird der von FHEM nicht angeboten, da er fälschlich unter Class BASIC und nicht CONFIGURATION steht.
Du brauchst die XML aber nicht, sondern kannst Werte auch direkt mit configByte, configWord und configLong setzen.
Mehr in https://wiki.fhem.de/wiki/Z-Wave

krikan

Zitat von: mdescher am 12 Oktober 2017, 20:22:24
Habe leider noch gar keine Ahnung wie die XMLs aufgebaut sind, aber mich würde vor allem interessieren wie ich eine extern gemessene Temperatur einsteuern kann (Config 8 auf 0x80 "Temperatur wird extern bereitgestellt"). Die Temperatur kommt bei mir nicht von Z-Wave Devices, müsste also bei erkannten Änderungen von z.B. 0,5 Grad durch FHEM gesetzt werden.
Nach https://products.z-wavealliance.org/ProductManual/File?folder=&filename=Manuals/2543/Spirit%20Z-Wave%20Plus_DRAFT_V4.pdf Seite 16 muss FHEM eine Nachricht im beschrieben Aufbau der Class MULTILEVEL_SENSOR an den Sprit schicken. Hierzu kannst Du mit "get <ZWDongle> raw <HEXCode>" einmal experimentieren.

syslog

Hi,

ich hänge mal einen Patch an für openzwave_deviceconfig.xml.gz (sollte alle Optionen abdecken, bis auf den Temp-Offset, da versteh ich das Format nicht).

Was ich noch nicht herausgefunden habe: wie kann ich das Teil auf "manufacturer specific" umstellen, damit ich die Ventil-Stellung direkt steuern kann?  Ich habe mit dem PID20-Modul und MAX-Thermostaten damit recht gute Erfahrungen gemacht und würde das auch gerne mit den Spirits so handhaben.

Danke,
lg

krikan

Zitat von: syslog am 12 Oktober 2017, 21:11:18
Was ich noch nicht herausgefunden habe: wie kann ich das Teil auf "manufacturer specific" umstellen, damit ich die Ventil-Stellung direkt steuern kann?  I
Eventuell:
set <device> tmManual

syslog

Zitat von: krikan am 12 Oktober 2017, 21:24:31
Eventuell:
set <device> tmManual

Perfekt, danke!

mit
set <device> dim <level>
lässt sich dann die Ventilstellung beinflussen.

:-)

mthome

#8
Hallo Christian,
Danke für die Antworten!!! Bin zur Zeit im Urlaub. Wenn ich aber wieder zuhause bin werde ich versuchen mich nochmals dran setzen.

mthome

Hallo syslog,

Zitat von: syslog am 12 Oktober 2017, 21:11:18
Hi,

ich hänge mal einen Patch an für openzwave_deviceconfig.xml.gz (sollte alle Optionen abdecken, bis auf den Temp-Offset, da versteh ich das Format nicht).

Danke für die Mühe...habe ich gleich mal übernommen  ;D

Was ich noch nicht verstehe sind die Teile THERMOSTAT_MODE und THERMOSTAT SETPOINT. Da tut sich bei mir leider immer noch nix  :-[. Müsste ich dort dann nicht im Webinterface unter set einen enstprechenden Eintrag finden? Oder verstehe ich da was falsch???

Vielen Dank schon mal wieder


krikan

Zitat von: mthome am 15 Oktober 2017, 11:44:13
Was ich noch nicht verstehe sind die Teile THERMOSTAT_MODE und THERMOSTAT SETPOINT. Da tut sich bei mir leider immer noch nix  :-[. Müsste ich dort dann nicht im Webinterface unter set einen enstprechenden Eintrag finden? Oder verstehe ich da was falsch???
Die XMLs werden durch FHEM grundsätzlich nur für die Class CONFIGURATION und ASSOCIATION ausgewertet. Alle anderen Abgaben zu den Classes sind für FHEM uninteressant und werden nur von openzwave gebraucht.

Die Befehle, die für THERMOSTAT_MODE und THERMOSTAT_SETPOINT in FHEM zur Verfügung stehen, werden allein durch 10_ZWave.pm bestimmt und es stehen Dir alle FHEM bekannten für die Classes zur Verfügung.

THERMOSTAT_MODE ist zumindest hinsichtlich des Boost-Modes des Spirit aus der neuen Version 3 der Class noch unvollständig.

krikan

Anhängend ungetesteter Patch für THERMOSTAT_MODE V3. Damit sollte der Boost-Mode mit dem Befehl "tmFullPower" beim Spirit zur Verfügung stehen und funktionieren. Bitte testen.

rudolfkoenig

Habs eingecheckt. Testen konnte ich es auch nicht (bis auf dass es sonst nichts zerschiesst).

mthome

Hallo,
ich schon wieder  ;D
Zitat von: rudolfkoenig am 15 Oktober 2017, 14:35:15
Habs eingecheckt. Testen konnte ich es auch nicht (bis auf dass es sonst nichts zerschiesst).

Habe es gerade getestet - funktioniert bestens!!! Vielen Dank nochmals  :D

mdescher

Wenn ich get {device} thermostatMode mache, dann bekomme ich UNPARSED THERMOSTAT_MODE 0440031f00 (oder eben andere Werte je nach Modus) als Reading angezeigt. Fehlt da noch irgendwas?

Gruß
Michael