Hauptmenü

Mathe Funktion

Begonnen von stefantaust1, 09 Februar 2018, 22:23:29

Vorheriges Thema - Nächstes Thema

stefantaust1

Internals:
   DEF        0 5
   HeatPumpServer_MSGCNT 97
   HeatPumpServer_TIME 2018-02-10 17:05:14
   IODev      HeatPumpServer
   LASTInputDev HeatPumpServer
   MSGCNT     97
   ModbusRegister_lastRcv 2018-02-10 17:05:14
   NAME       dim_flow_temperature
   NR         45
   NTFY_ORDER 50-dim_flow_temperature
   STATE      25.6
   TYPE       ModbusRegister
   lastUpdate Sat Feb 10 17:05:14 2018
   nextUpdate Sat Feb 10 17:06:14 2018
   READINGS:
     2018-02-10 17:05:14   RAW             0100
     2018-02-10 17:05:14   statTemperature Hour: -0.1 Day: 3.6 Month: 3.6 Year: 3.6 (since: 2018-01-25_20:08:10 )
     2018-01-26 20:09:53   statTemperatureDay Min: 18.1 Avg: 27.8 Max: 52.4 (since: 2018-01-25_20:45:46 )
     2018-01-26 20:09:53   statTemperatureHour Min: 30.6 Avg: 36.3 Max: 36.8
     2018-01-26 19:59:55   statTemperatureHourLast Min: 20.4 Avg: 32.9 Max: 36.7
     2018-02-10 16:59:55   statTemperatureLast Hour: -0.9 Day: - Month: - Year: -
     2018-01-26 20:09:53   statTemperatureMonth Min: 18.1 Avg: 27.8 Max: 52.4 (since: 2018-01-25_20:45:46 )
     2018-01-28 13:59:55   statTemperatureTendency 1h: +4.3 2h: +3.5 3h: +2.3 6h: +2.3
     2018-01-26 20:09:53   statTemperatureYear Min: 18.1 Avg: 27.8 Max: 52.4 (since: 2018-01-25_20:45:46 )
     2018-02-10 17:05:14   state           25.6
     2018-02-10 17:05:14   tempDiff        -0.100000000000001
     2018-02-10 17:05:14   temperature     25.6
   helper:
     _98_statistics dim_statistics
     addr       3 0 5
     address    5
     disableRegisterMapping 0
     lastUpdate 0
     nextUpdate 1518278774.31805
     nread      1
     readCmd    
     register   5
     registerType 3
     unitId     0
     updateIntervall 60
     cnv:
       a          0.1
       b          0
       max        3276.7
       min        -3276.8
       pr         -1
       step       10
Attributes:
   IODev      HeatPumpServer
   alias      Vorlauftemperatur
   conversion 0.1:0
   event-min-interval .*:1
   event-on-change-reading temperature:0.1
   fp_Dimplex 625,604,1,Vorlauftemperatur,
   group      Temperaturen
   plcDataType INT
   registerType Holding
   room       Dimplex
   stateAlias temperature
   stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))}
   updateInterval 00:01:00
   userReadings tempDiff {ReadingsVal("$name","temperature","0") - ReadingsVal("dim_return_temperature","temperature","0")}

Otto123

Naja damit ist alles in Ordnung. Ich glaube Dir nicht, dass der im Wizard nicht auftaucht   :D

Du musst in der ersten Klappleiste hinter dem set in regexp parts dim_flow_temperature auswählen. Dann sollte in der zweiten Klappleiste eine Liste mit den Werten zur Auswahl stehen.
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

stefantaust1

da habe ich dann nur    .*    und    temperature:.*     zur Auswahl

hinzugefügt schaut das dann so aus:

dim_flow_temperature:.*
dim_flow_temperature:temperature:.*

ins Log wird nix geschrieben

Otto123

ok Du hast -> event-on-change-reading temperature:0.1

Zitat Doku
Zitatevent-on-change-reading
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings". Wenn gesetzt, erzeugen nur Veränderungen der gelisteten "readings" ein Ereignis. Wenn die aktualiserten Werte der gelisteten "readings" identisch sind, wird kein Ereignis generiert.

Du musst Dein attr <> event-on-change-reading entsprechend anpassen.   :-[ ;)
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

stefantaust1

jetzt funktioniert es.  ;D Vielen Dank  :)

der-Lolo

Ich habe mitgelesen und auch meine Spreizung ausgerechnet...
Spreizung {ReadingsVal("WMZ","Vorlauftemperatur","0") - ReadingsVal("WMZ","Ruecklauftemperatur","0")}
Die Temperaturen kommen zwar sauber auf einer nachkommastelle aus dem Modbus Wärmemengenzähler, gelegentlich habe ich aber beim UserReading trotzdem viele Nachkommastellen - hat jemand einen tip wie ich das verhindere..?

Otto123

#21
Kurz und nicht ausformuliert und getestet:
mit sprintf("%.2f",ReadingsVal("WMZ","Vorlauftemperatur","0") - ReadingsVal("WMZ","Ruecklauftemperatur","0"))
http://perldoc.perl.org/functions/sprintf.html

Edit im Code fehlte ne Klammer - korrigiert.
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

der-Lolo

So ganz trifft das den Nagel nicht auf den Kopf... Mit der Zeile wird nicht mehr aktualisiert.

Ich würde auch gerne noch die aktuelle AZ bestimmen ( abgegebene Leistung / aufgenommene Leistung )

Problem ist, das eine sind kW - das andere W

Otto123

#23
Zitat von: der-Lolo am 11 Februar 2018, 15:02:46
So ganz trifft das den Nagel nicht auf den Kopf... Mit der Zeile wird nicht mehr aktualisiert.
Verstehe ich nicht. Also Du musst es komplett so machen:
Spreizung {sprintf("%.2f",ReadingsVal("WMZ","Vorlauftemperatur","0") - ReadingsVal("WMZ","Ruecklauftemperatur","0"))}

ZitatProblem ist, das eine sind kW - das andere W
Umrechnungsfaktor 1000 ?  :D oder welches Problem siehst Du?
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

der-Lolo

Hehe, komma getrennt - dazu brauchte ich auch die ComandRef... Habs nun, rechnen ging doch einfacher als ich gedacht hatte....

Spreizung {sprintf("%.1f",ReadingsVal("WMZ","Vorlauftemperatur","0") - ReadingsVal("WMZ","Ruecklauftemperatur","0"))},
aktAZ {sprintf("%.2f",ReadingsVal("WMZ","aktWaermeleistung","0")*1000 / ReadingsVal("SDM630","Power_L2__W","0"))}


Ich frag mich schon ob ich mit den Temperaturen und dem Durchfluss die Wärmeleistung mal selber rechne ;-)

Deckoffizier

Hallo der-Lolo,

ZitatIch frag mich schon ob ich mit den Temperaturen und dem Durchfluss die Wärmeleistung mal selber rechne ;-)

Deine Idee für meinen Holzvergaser geht auch gerade schwanger mit mir  ;D

1 wire Anlegefühler sind eh bestellt, dann frisch ans Werk.

Danke für die Vorarbeit an Alle.

Gruß
Hans-Jürgen



FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus

stefantaust1

Hallo,
ich muss das Thama nochmal aufgreifen

Ich erhalte ja unter der Vorlauftemperatur das Reading der Spreizung

tempDiff {ReadingsVal("$name","temperature","0") - ReadingsVal("dim_return_temperature","temperature","0")}

Wie bekomme ich das Reading tempDiff als extra Dummy oder Device angezeigt?

Stefan



Otto123

Kannst Du genauer werden? Was ist der Vorteil eines extra Devices gegenüber einem Reading aus Deiner Sicht? Wo willst Du den Wert in dem Device haben?

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

stefantaust1

Hallo Otto123,
schön du du mir wieder unter die Arme greifst  :D

Ich will den Wert einem Raum und Gruppe zuordnen und dann im Floorplan anzeigen lassen.

Jetzt ist der Wert tempDiff ja nur als reading bei der Vorlauftemperatur zu finden

Danke
Stefan

Otto123

Hallo Stefan,

und wie lässt Du andere Temperaturen im Floorplan anzeigen? Ich meine klar Du kannst das Reading in den state eines Dummy kopieren, aber das erscheint mir überflüssig.

Du kannst es auch in den state Deines Devices HeatPumpServer schreiben.

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