Hauptmenü

Rechnen mit Readings

Begonnen von Gonzolo, 17 April 2017, 12:35:02

Vorheriges Thema - Nächstes Thema

Gonzolo

Hallo,

brauche mal wieder Eure Hilfe! :-)

Ich habe ein Dummy "Heizungssteuerung" erzeugt. Diesem Dummy habe ich mit

setreadings Heizungssteuerung TagTemp 21.0

ein Parameter im Reading erzeugt.

Jezte will ich mit einem DOIF nur dann nur dann eine Heizung einschalten, wenn die Termperatur vom einem "Wohnzimmerthermostat" < 2 Grad unterhalb dieser TagTemp ist.

Da ich bereits mit "STATE" Parametern rechne:

{fhem("set SollTemp " . (Value("SollTemp") -1.5))}


habe ich es mal mit :


define HeizON DOIF (Wohnzimmerthermostat < {fhem(Value("Heizungssteuerung:TagTemp") -2)}) (Set Heizung ON)



versucht.

Leider ohne Erfolg.

Hoffe Ich habe mein Problem einigermaßen verständlich erklärt und Ihr könnt mir Helfen?

DANKE!!!

Gruß

Gonzolo

FranzB94


Gonzolo

Danke Franz für Deine Antwort.

ABER mir geht es nicht um den DOIF-Befehl. Den verstehe ich. Mir geht es draum wie die Syntax ist, um mit Parametern aus einem Reading zu rechnen. :-)

Danke!!!!!!!!  ;)

Icinger

Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Damian

Bevor sich noch jemand bedankt: ;)

Wenn Wohnzimmerthermostat im Status die Temperatur beinhaltet, dann kannst du es so definieren:


define HeizON DOIF ([Wohnzimmerthermostat] < ([Heizungssteuerung:TagTemp] -2)) (Set Heizung ON)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gonzolo

dann sage ich mal artig .... DANKE!!!! ;)

FranzB94

DANKE!!!!!!!! Damian, aber ob Gonzola das mit den []-Klammern vor lauter !!!!!!!!!!! verstanden hat?????

Frohe Ostergrüße

Franz

Gonzolo

Hallo Franz. Ich habe es verstanden. Danke für Deine Führsorge!  ;)

Ich heiße GonzolO und nicht GonzolA  ;D

igami

Und guck dir mal ReadingsVal und ReadingsNum an, falls du mal nicht mit DOIF unterwegs bist.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Gonzolo

Wenn man es nicht immer gleich ausprobiert?!

Was ist an dieser DOIF Abfrage falsch??  :-[

  DOELSEIF ([Steuerung] eq "TempTag" and
   [TempWohnzimmer] < ([Steuerung:TempTag]-2.0))
  (set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE [Heizung_Wohnzimmer:TempTag])
  (set Heizung_Wohnzimmer datapoint 1.BOOST_MODE true)


Ich bekomme immer so ne doofe Fehlermeldung und es tut sich nix...

2017.05.10 17:33:00 1: HMCCUDEV: Heizung_Wohnzimmer Execution of CCU script or command failed
2017.05.10 17:33:00 2: Heizung_Wohnzimmer_SetTemp: set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE 21.0: HMCCUDEV: Heizung_Wohnzimmer Execution of CCU script or command failed


Danke für Euere Hilfe...

Beste Grüße

Gonzolo

KernSani

Mir scheint das weniger am DOIF zu liegen und mehr am set Befehl. Was bringt denn ein
set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMPERATURE 21.0 im Kommandofeld als Ergebnis?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Gonzolo

Hallo KernSani,

danke für Deine Hilfe!

der Befehlt

set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMOERATURE 21.0

macht das was er soll :-) Er schaltet die Heizung auf 21C

Habe mal folgendes probiert:

define test Dummy
set test ([Steuerung:TempTag]-2.0)


... das Ergebnis ist, dass er test:state mit "(20.5-2.0)" füllt.

Der will einfach nicht rechnen! :-( Hast Du vielleicht noch eine Idee, woran es liegen könnte?! Danke!

Viele Grüße

Gonzolo 

CoolTux

Zitat von: Gonzolo am 12 Mai 2017, 07:19:50
Hallo KernSani,

danke für Deine Hilfe!

der Befehlt

set Heizung_Wohnzimmer datapoint 1.SET_POINT_TEMOERATURE 21.0

macht das was er soll :-) Er schaltet die Heizung auf 21C

Habe mal folgendes probiert:

define test Dummy
set test ([Steuerung:TempTag]-2.0)


... das Ergebnis ist, dass er test:state mit "(20.5-2.0)" füllt.

Der will einfach nicht rechnen! :-( Hast Du vielleicht noch eine Idee, woran es liegen könnte?! Danke!

Viele Grüße

Gonzolo

Du sagtest weiter oben das Du das mit dem DOIF verstanden hast, NEIN hast Du nicht. Bitte bitte tue den Helfenden einen gefallen und lese Dich erstmal ein.
Als erstes das Einsteiger PDF und danach die Commandref zu den von Dir verwendeten Modulen.

Ein einfacher set Befehl in der Konsole eingegeben kann nicht rechnen, zu mindest nicht so. der FHEM Befehl set hat eine solche Funktion nicht. Ein DOIF hingegen hat eine solche Funktion. Was set kann, im Zuge der Einführung von set Magic, ist das auslesen eines Reading Wertes innerhalb eines set Kommandos. (ja es gehen auch andere Werte, Attribut und so)

set ThermostatWohnzimmer desired-temp [dummyNachtTemp:state]


Dieser set Befehl schaltet die desired-temp vom ThermostatWohnzimmer auf den Wert welchen der Dummy dummyNachtTemp im Reading state zu stehen hat.


Bitte lese, lese und noch mal lese.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gonzolo

Hallo CoolTux,

danke für Deine Nachricht. Ich werde Deinen Rat hinsichtlich des "Lesens" beherzigen. Glaube aber bitte nicht, dass ich nicht schon einiges gelesen habe, bevor ich mich an Euch wende! Ich gebe zu, dass ich nicht alles verstehe was geschrieben wird! Deswegen meine Fragen.

Dachte genau für solle Fälle gibt es die Rubrik "Anfänger"?!

Wenn nicht, dann muss ich mich in Zukunft zurückhalten und mich mit dem begnügen was ich in dem geschriebenen verstehe.  :-[ Wenn jedoch die Anderen hier, meiner Meinung sind, dann bitte ich Dich meine Beiträge zukünftig zu ignorieren. Mir liegt nichts ferner als jemanden mit meinen Fragen zu nerven!


Gruß

Gonzolo

CoolTux

Zitat von: Gonzolo am 12 Mai 2017, 10:10:03
Hallo CoolTux,

danke für Deine Nachricht. Ich werde Deinen Rat hinsichtlich des "Lesens" beherzigen. Glaube aber bitte nicht, dass ich nicht schon einiges gelesen habe, bevor ich mich an Euch wende! Ich gebe zu, dass ich nicht alles verstehe was geschrieben wird! Deswegen meine Fragen.

Dachte genau für solle Fälle gibt es die Rubrik "Anfänger"?!

Wenn nicht, dann muss ich mich in Zukunft zurückhalten und mich mit dem begnügen was ich in dem geschriebenen verstehe.  :-[ Wenn jedoch die Anderen hier, meiner Meinung sind, dann bitte ich Dich meine Beiträge zukünftig zu ignorieren. Mir liegt nichts ferner als jemanden mit meinen Fragen zu nerven!


Gruß

Gonzolo

Auch hier noch mal der Vorschlag genau zu erklären was Du möchtest wo Du hin willst und dann nimmt EIN Helfender Dich an die Hand. Ich denke auch das Deine beiden Beiträge eigentlich zusammen gehören. Sieht für mich so aus das der Readings Rechnen Beitrag also dieser hier auf den Beitrag auslesen eines Dummys auf baut.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net