Werte umrechnen und weiterleiten

Begonnen von mrpointblue, 29 März 2021, 13:42:14

Vorheriges Thema - Nächstes Thema

mrpointblue

Hallo Zusammen,
ich habe ein Projekt und stehe vor der Großen frage wie ich das umsetzen kann.

Ich habe eine Hybrid Heizanlage mit einer Wärmepumpe Vitocal und einer Ölheizung Wolf TOB18

Die Vitocal hat vitoconnect und ist bereits in Fhem integriert
Die Wolf Anlage hat ein ISM8I und auch bereits in Fhem integriert.

Folgende Herausforderung:
Die Vitocal steuert den Vorlauf und schaltet die Wolf dazu wenn die Vorlauftemperatur nicht mehr erreichbar ist bzw. die Wärmepumpe das nicht mehr packt.
Jetzt möchte ich die Vorlauftemperatur an die Wolf Anlage vermitteln da diese nur mit einem Festwert über einen Pufferspeicher arbeitet, aber dadurch das Takten anfängt weil sie eben auch Warmwasser macht und immer mit einer hohen Vorlauftemperatur dazugeschaltet wird. Es funktioniert, aber halt nicht so optimal und das kann man doch sicher verbessern.

Ziel:
Mittels Z-Wave Quibino den 0-10V Wert an die Wolf Anlage geben da der Wert nicht via ISM8I genommen wird.
Er will immer die 0-10V haben. 0-2V = aus / 2V-10V Vorgabe Kesseltemperatur.

Nun ist eben die Frage wie gehe ich das am besten an. Notify, Dummy oder DOIF?
Und wie rechne ich am besten den Wert aus?
{Ergänzt} Gemeint ist das Attribut.

Vielen Dank schon mal.
Gruß Mr
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

Otto123

Hi,

ich habe es jetzt sehr oft gelesen und nicht verstanden.

Du willst sowas?:
Symbolcode
define weitergabe notify Z-Wave.Quibino:.* set  Wolf.Anlage {($EVENT*Korrekturfaktor)}

???

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrpointblue

Hi,
ja sowas in der Art.

Also die Vitocal bringt mir eine Vorlauftemperatur. z.B. 38 Grad.
Die Wolf reagiert auf die 0-10V entsprechende der vorgegeben min Max Wert (Min=30 C° / Max=68C°)
Bedeutet ich habe einen Sollwertvorgabe von 30 Grad umgerechnet muss ich also 8 C° an den Quibino geben.
Würde also bedeuten:
68-30=38 (Das muss man dann manuell festlegen)
10/38*8=2,105 V

>Hier liegt aber das Problem. Die Wolf reagiert jetzt erst ab 2V. Also würde man wenn man einen Wert setzt einen Offset brauchen.
Will ich jetzt aber 68 C° vorgeben wäre es theoretisch 10V mit einem Offset aber dann 12V.


Lassen wir das fettgedruckte jetzt aber erstmal weg. Wie rechne ich das > 10/38*8=2,105 V

1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

Otto123

Zitat von: mrpointblue am 29 März 2021, 15:48:05
10/38*8=2,105 V
{10/38*8} ;D ;D ;D
Wahrscheinlich ist es am Elegantesten Du packst Deine Formel in ein UserReadings (im Z-Wave Quibino)und rechnest dort aus was Du übergeben musst.
Dann machst Du das notify einfacher
define weitergabe notify Z-Wave.Quibino:uebergabewert:.* set  Wolf.Anlage $EVTPART1
Ist die Formel linear? Das wäre dein Faktor, Du hast quasi 8 Volt Hub zum regeln und musst immer 2 auf addieren
{(68-30)/8}

Ich habe noch nicht ganz verstanden wer was liefert - was gebraucht wird habe ich verstanden > Wolf 2-10 Volt entspricht 30-68°

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrpointblue

Hi Otto,
also Vitocal200 schickt Vorlauf

heating.circuits.1.temperature.value 36.1

Wolf=MyWolf empfängt dann via Quibino, der ist Quasi in der Anschaffung wenn ich weis das es geht.

Was ich noch nicht verstanden habe ist was der unterschied zwischen $EVTPART und $EVENT ist.

Wie würde ein RegexPart aussehen und wie schicke ich den Wert dann an den Quibino
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

Otto123

Schau mal im Wiki, da hab ich mal versucht das quasi bildlich darzustellen:
https://wiki.fhem.de/wiki/Notify#Syntax

Versteht man das?

Nochmal zur Funktion:
Vitocal200 liefert 36.1 daraus soll (was?) / 3.28 ? an den quibino gesendet werden? Meine ungekürzte Formel (((36.1-30)/((68-30)/8))+2)

RegExp fürs notify kann ich Dir sagen wenn Du ein list von dem vitocall machst oder Du nimmst einfach den Eventmonitor und baust Dir die Grundlage damit (steht in meinem Link oben)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrpointblue

Hi,
schonmal danke.
Ich teste mal ein bisschen rum versuch das mal mit anderen Werten zu bauen. Wenn das klappt bestelle ich den Quibino.
Ich hoffe nur ich bekomme die Formel im Notify hin.

Ich weis es ist etwas kompliziert beschrieben.
Die Wolf wird immer mit dem umgerechnet Wert angesteuert so das ich den Quibino Quasi den Sollwert dann über die 10V gebe. So habe ich immer die vorgegebene Vorlauftemperatur.

Ich hoffe das war jetzt verständlich?
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

Otto123

Ich würde die Formel nicht im notify machen! Ich würde ein UserReadings mit der Formel in der Vitocal machen!
Im notify machst Du nur noch ein set

Ist denn meine Formel so richtig gedacht? Oder hast Du die fertig? Aber sicher hab ich es nicht verstanden...
(Vorlauf - 30) / ((68 -30) / (10 - 2)) + 2
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrpointblue

Hi,
dann versuch ich das mal mit einem Reading.

Ja die Formel  müsste so passen, ich werde es testen.
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

Otto123

so in der Art: :D
attr vitocal userReadings quibino:heating.circuits.1.temperature.value.* {(ReadingsNum($NAME,'heating.circuits.1.temperature.value',0) - 30) / ((68 -30) / (10 - 2)) + 2}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrpointblue

Hi,
danke für die Hilfe, aktuell sieht es gut aus.

Nur scheint der Wert mit zu vielen Kommastellen nicht sauber angenommen zu werden. Wie begrenze ich die Ausgabe auf 2, 3 oder 4 Stellen?

Gruß Mr
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

Otto123

Hi,

in der Art:
{return sprintf "%.2f",12.345678}
Wie das genau in dem set magic aussehen muss, musst Du mal probieren.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrpointblue

Hi,
ich habe nun diese Formel
Vorgabe_Brenner {sprintf("%.2f",(ReadingsNum("vitocal200","heating.circuits.1.temperature.value",0)-40)/((68-28)/8+2)}
als User Reading definiert und hat auch bisher funktioniert. Heut habe ich dann nur eine Zahl verändert und erhalten diese Fehlermeldung
Error evaluating MyWolf userReading Vorgabe_Brenner: syntax error at (eval 2303574) line 1, at EOF
Ich stolpere nicht über den Fehler. Kann mir jemand auf die Sprünge helfen?

Ich komm nicht drauf.

1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt

Otto123

kannst Du zeigen wie es aussieht wenn es diesen Fehler wirft?  ::)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mrpointblue

Hi, ich habs gefunden, richtig ist es so.

Vorgabe_Brenner {sprintf("%.2f",(ReadingsNum("vitocal200","heating.circuits.1.temperature.value",0)-28)/(68-28)/(10-2)+2)}

Da war eine Klammer am falschen Platz, hab ich versehentlich wohl hinzugefügt.

Danke für die Mühe
1x Raspberry für Fhem, 1x Raspberry für Homebridge
Diverse Z-Wave Geräte, Philips-Hue, Ikea Tradfri, sonnenBatterie, Logitech Harmony, Alexa & Siri gekoppelt