FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Jupedi am 20 Dezember 2017, 16:10:44

Titel: Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 20 Dezember 2017, 16:10:44
Hallo zusammen

Um die Abweichung zwischen der von der Heizung gemessenen Vorlauftemperatur und der von mir mittels HomeMatic Sensor gemessenen zu korrigieren, habe ich drei Dummys erstellt.

In den ersten <1_Vorlauftemperatur > schreibt eine Notification die gemessene Vorlauftemperatur. Der STATE enthält die richtige Zahl.
Der zweite <1_Vorlauftemperaturkorrekturwert> enthält den Offset. Auch hier ist im STATE die gewünschte Zahl.
In <1_Vorlauftemperatur_korrigiert> soll das Ergebnis der Summe geschrieben werden. Enthält nur ???

Dazu habe ich diese Notification erstellt

DEF:  { fhem("set 1_Vorlauftemperatur_korrigiert".(Value("1_Vorlauftemperaturkorrekturwert")+Value("1_Vorlauftemperatur"))) }



Kann den Fehler leider nicht finden, Syntax, groß/klein.   :(

Vielleicht wäre jemand so nett und schaut mal drüber.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: igami am 20 Dezember 2017, 16:18:03
Zitat von: Jupedi am 20 Dezember 2017, 16:10:44
DEF:   { fhem("set 1_Vorlauftemperatur_korrigiert".(Value("1_Vorlauftemperaturkorrekturwert")+Value("1_Vorlauftemperatur"))) }
Ist das die vollständige DEF?

PS: bitte code-Tags verwenden (das # über den Smileys)
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Beta-User am 20 Dezember 2017, 16:21:45
Warum das wieder so viele Dummies sein sollen (und keine userattr), erschließt sich mir mal wieder nicht, aber der Fehler scheint mir daher zu kommen, dass ein Leerzeichen fehlt, der das Zieldevice vom Wert trennt (wieder die Frage, warum das Ergebnis nicht in einem userattr landet oder das ganze mit userreadings gelöst wird).

{ fhem("set 1_Vorlauftemperatur_korrigiert ".(Value("1_Vorlauftemperaturkorrekturwert")+Value("1_Vorlauftemperatur"))) }

Ansonsten: Code gehört in code-tags (# oberhalb der smilies) und testen kann man perl-code, indem man ihn in das command-Feld eingibt - dann erhält man ggf. auch eine Rückmeldung...

Gruß, Beta-User
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 20 Dezember 2017, 17:47:31
sorry für die code Geschichte!

Ja, das ist die ganze DEF.

Warum Dummy? Ganz einfach, weil zur Zeit noch froh bin überhaupt einen Weg zu haben, der mich ans Ziel bringt.
Für die Feinheiten reichte noch es nicht.

Leerzeichen nach dem Pkt hinter dem Ziel meinst du? Du meinst hier:     ... korrigiert". hier(Value(...
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 20 Dezember 2017, 18:08:59
Für ein Notify fehlt Dir aber noch einiges, so zum Beispiel die RegEx zum triggern. Am besten noch mal in der Commandref blättern wie der allgemeine Aufbau eines Notify DEF ist.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 20 Dezember 2017, 22:40:22
ja, klar es fehlt das <Suchmuster>, aber wie formuliere ich das jetzt in dem Fall?

1_Vorlauftemperatur:1.TEMPERATURE.* { fhem("set 1_Vorlauftemperatur_korrigiert"(Value("1_Vorlauftemperaturkorrekturwert")+Value("$EVENT"))) }

so gehts wohl nicht. Hätte gern, dass jede Änderung der Vorlauftemperatur übergeben und korrigiert wird
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 20 Dezember 2017, 22:43:48
Was genau heißt geht nicht? Löst das Notify nicht aus?

Gib Mal bitte ein list von 1_Vorlauftemperatur
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 20 Dezember 2017, 22:52:28
Internals:
   NAME       1_Vorlauftemperatur
   NR         183
   STATE      1.TEMPERATURE: 52.5
   TYPE       dummy
   READINGS:
     2017-12-20 22:47:54   state           1.TEMPERATURE: 52.5
Attributes:
   room       Heizung,dummies


Kann es sein, dass nicht nur der Zahlenwert, sondern auch <1.TEMPERATURE:> mit übergeben wird und damit natürlich nicht gerechnet werden kann?
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 20 Dezember 2017, 22:55:43
das ist die Fehlermeldung:

Unknown command 1_Vorlauftemperatur:1.TEMPERATURE.*, try help.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 20 Dezember 2017, 23:03:49
Bitte Log oder Code oder solche lists immer in Codetags. Oben in der Symbolleiste das Rautezeichen.

Da ist vieles durcheinander. Der Wert von state ist nicht zu gebrauchen. Wer wie oder was setzt diesen Wert? Gib Mal bitte davon ein list.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: franky08 am 20 Dezember 2017, 23:18:45
Uups, wenn man das schon so kompliziert macht, dann doch in die 99_myUtils auslagern, da lässt sich so etwas recht entspannt anlegen und zurück schreiben. Kann iMo kein Beispiel posten da ich mit dem Tablett unterwegs bin. Aber du kannst in der Utils über ReadingsVal deine Daten auslesen, berechnen und zurück schreieben oder wie schon erwähnt über eun User Reading.

Vg
Frank
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 20 Dezember 2017, 23:19:47
Der Wert kommt vom Homematic Sensor
Internals:
   DEF        OEQ0802459
   IODev      d_ccu
   NAME       HM_Heizung_VorRuecklauf_Messer
   NR         219
   STATE      Initialized
   TYPE       HMCCUDEV
   ccuaddr    OEQ0802459
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HM-Heizung_VorRuecklauf-Messer
   ccutype    HM-WDS30-OT2-SM-2
   channels   6
   firmware   1.2
   statevals  devstate
   READINGS:
     2017-12-20 23:10:45   0.LOWBAT        0
     2017-12-20 23:10:45   1.LOWBAT        0
     2017-12-20 23:10:45   1.TEMPERATURE   46.7
     2017-12-20 23:10:45   2.LOWBAT        0
     2017-12-20 23:10:45   2.TEMPERATURE   46.5
     2017-12-20 23:10:45   3.LOWBAT        0
     2017-12-20 23:10:45   3.TEMPERATURE   0.2
     2017-12-20 23:10:45   4.LOWBAT        0
     2017-12-20 23:10:45   4.TEMPERATURE   -0.2
     2017-12-20 23:10:45   5.LOWBAT        0
     2017-12-10 18:10:49   5.TEMPERATURE   0.0
     2017-12-10 18:10:49   activity        false
     2017-12-20 23:10:45   hmstate         Initialized
     2017-12-10 18:10:16   state           Initialized
   hmccu:
     dp:
       0.CONFIG_PENDING:
         OVAL       false
         VAL        false
       0.DEVICE_IN_BOOTLOADER:
         OVAL       false
         VAL        false
       0.LOWBAT:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.RSSI_DEVICE:
         OVAL       1
         VAL        1
       0.RSSI_PEER:
         OVAL       180
         VAL        180
       0.STICKY_UNREACH:
         OVAL       false
         VAL        false
       0.UNREACH:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       1.LOWBAT:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.TEMPERATURE:
         OSVAL      47.8
         OVAL       47.800000
         SVAL       46.7
         VAL        46.700000
       2.LOWBAT:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.TEMPERATURE:
         OSVAL      47.5
         OVAL       47.500000
         SVAL       46.5
         VAL        46.500000
       3.LOWBAT:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       3.TEMPERATURE:
         OSVAL      0.3
         OVAL       0.300000
         SVAL       0.2
         VAL        0.200000
       4.LOWBAT:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.TEMPERATURE:
         OSVAL      -0.3
         OVAL       -0.300000
         SVAL       -0.2
         VAL        -0.200000
       5.LOWBAT:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       5.TEMPERATURE:
         OSVAL      0.0
         OVAL       0.000000
         SVAL       0.0
         VAL        0.000000
Attributes:
   IODev      d_ccu
   ccureadingfilter TEMPERATURE
   room       HomeMatic
   stripnumber 1


wird mit der Notification

Internals:
   CFGFN     
   DEF        HM_Heizung_VorRuecklauf_Messer:1.TEMPERATURE.* set 1_Vorlauftemperatur $EVENT
   NAME       n_1_Vorlauftemperatur
   NOTIFYDEV  HM_Heizung_VorRuecklauf_Messer
   NR         5119
   NTFY_ORDER 50-n_1_Vorlauftemperatur
   REGEXP     HM_Heizung_VorRuecklauf_Messer:1.TEMPERATURE.*
   STATE      2017-12-20 23:15:57
   TYPE       notify
   READINGS:
     2017-12-20 22:22:36   state           active
Attributes:
   room       Heizung,notifications 



an    1_Vorlauftemperatur.   

  Internals:
   NAME       1_Vorlauftemperatur
   NR         183
   STATE      1.TEMPERATURE: 44.4
   TYPE       dummy
   READINGS:
     2017-12-20 23:18:14   state           1.TEMPERATURE: 44.4
Attributes:
   room       Heizung,dummies 


übergeben.

Hilft das so?
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 20 Dezember 2017, 23:33:38
Bleiben wir der Einfachheit halber erstmal bei Deinem mehrfach Dummy bau. Können es später ja noch ändern.


HM_Heizung_VorRuecklauf_Messer:1.TEMPERATURE.* set 1_Vorlauftemperatur $EVENT


Dein Problem ist das Du das ganze Event mit übergibst. Das beinhaltet aber hier auch den Namen des Readings. Am besten hier gleich nur den 2 Teil des Events mit geben.


HM_Heizung_VorRuecklauf_Messer:1.TEMPERATURE.* set 1_Vorlauftemperatur $EVTPART1

Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 20 Dezember 2017, 23:38:50
Und dann sollte das gehen


1_Vorlauftemperatur.* { fhem("set 1_Vorlauftemperatur_korrigiert " . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 21 Dezember 2017, 00:17:46
Erst mal vielen Dank!
Ich probiere es morgen (heute) aus und sage bescheid.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 21 Dezember 2017, 12:16:57
Also der erste Teil hat geklappt, das 1.TEMPERATURE ist weg.
Der Zweite leider noch nicht.  :-\
Habe zuerst genau deine Zeile mit copy/paste genommen, kein Zahlenwert nur das ???
Dann hab ich die Leerstelle nach <...korrigiert hier "> noch entfernt, aber das hat es auch nicht gebracht.

Das aktuelle List:

Internals:
   CFGFN     
   DEF        1_Vorlauftemperatur.* { fhem("set 1_Vorlauftemperatur_korrigiert" . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
   NAME       1_n_Vorlaufkorrektur
   NOTIFYDEV  1_Vorlauftemperatur.*
   NR         4738
   NTFY_ORDER 50-1_n_Vorlaufkorrektur
   REGEXP     1_Vorlauftemperatur.*
   STATE      2017-12-21 12:08:45
   TYPE       notify
   READINGS:
     2017-12-21 11:02:03   state           active
Attributes:
   room       Heizung,notifications



Das ist noch mal das Listing des Korrekturwertdummy.

Internals:
   NAME       1_Vorlauftemperaturkorrekturwert
   NR         234
   STATE      3
   TYPE       dummy
   READINGS:
     2017-12-20 15:10:34   state           3
Attributes:
   room       Heizung,HomeMatic,dummies


vielleicht gibts hier ein Problem
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 21 Dezember 2017, 12:25:59
Das Leerzeichen ist Pflicht, das muss da wieder rein sonst geht es in der Tat gar nicht.
Schau mal bitte im Log nach was er meldet. Auch ist interessant wie der Event ausschaut vom 1_Vorlauftemperatur. Also Eventmonitor auf machen
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 21 Dezember 2017, 12:52:11
Könnte da auch was mit der Variablendeklaration im Argen zu liegen?  ...isnt numeric...
Und auch unknown command scheint noch auf Probleme zu deuten

1_Vorlauftemperatur_korrigiert" . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
2017.12.21 12:24:35 3: 52.4 : Unknown command 52.4, try help.
2017.12.21 12:24:35 3: 1_n_Vorlaufkorrektur return value: Unknown command 52.4, try help.
2017.12.21 12:29:36 2: HMCCU: Received no events from CCU since 300 seconds
2017.12.21 12:29:41 1: PERL WARNING: Argument "set 1_Vorlauftemperatur_korrigiert3" isn't numeric in addition (+) at (eval 191595) line 1.
2017.12.21 12:29:41 3: eval: my $NAME='1_Vorlauftemperatur';my $TYPE='dummy';my $EVENT='51.2';my $SELF='1_n_Vorlaufkorrektur';my $EVTPART0='51.2';{ fhem("set 1_Vorlauftemperatur_korrigiert" . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
2017.12.21 12:29:41 3: 51.2 : Unknown command 51.2, try help.
2017.12.21 12:29:41 3: 1_n_Vorlaufkorrektur return value: Unknown command 51.2, try help.
2017.12.21 12:31:55 1: PERL WARNING: Argument "set 1_Vorlauftemperatur_korrigiert 3" isn't numeric in addition (+) at (eval 191638) line 1.
2017.12.21 12:31:55 3: eval: my $NAME='1_Vorlauftemperatur';my $TYPE='dummy';my $EVENT='49.5';my $SELF='1_n_Vorlaufkorrektur';my $EVTPART0='49.5';{ fhem("set 1_Vorlauftemperatur_korrigiert " . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
2017.12.21 12:31:55 3: 49.5 : Unknown command 49.5, try help.
2017.12.21 12:31:55 3: 1_n_Vorlaufkorrektur return value: Unknown command 49.5, try help.



hier noch ein Abschnitt aus den Events


2017-12-21 12:44:34 LaCrosse LaCrosse_24 battery: ok
2017-12-21 12:44:34 LaCrosse LaCrosse_24 temperature: 4
2017-12-21 12:44:34 LaCrosse LaCrosse_24 humidity: 77
2017-12-21 12:44:36 dummy 1_Vorlauftemperatur 45.7
2017-12-21 12:44:36 dummy 2_Ruecklauftemperatur 40.4
2017-12-21 12:44:36 dummy 3_Vorlauf_Ruecklauf_Temperaturdifferenz 5.3
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 4.LOWBAT: 0
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 4.TEMPERATURE: -5.3
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 3.TEMPERATURE: 5.3
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 3.LOWBAT: 0
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 1.TEMPERATURE: 45.7
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 1.LOWBAT: 0
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 0.LOWBAT: 0
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 2.TEMPERATURE: 40.4
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 2.LOWBAT: 0
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer 5.LOWBAT: 0
2017-12-21 12:44:36 HMCCUDEV HM_Heizung_VorRuecklauf_Messer hmstate: Initialized
2017-12-21 12:44:42 dummy Aussentemperatur temperature: 4
2017-12-21 12:44:42 LaCrosse LaCrosse_24 battery: ok
2017-12-21 12:44:42 LaCrosse LaCrosse_24 temperature: 4
2017-12-21 12:44:42 LaCrosse LaCrosse_24 humidity: 77


mehr? Da kommen Unmengen von Einträgen.

Wie bekomme ich nur die Events eines bestimmten Device? (1_Vorlauftemperatur)
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Beta-User am 21 Dezember 2017, 12:58:20
Des Leerzeichen muß in die Hochkommata mit rein, nicht irgendwo danach - wie bei meinem ersten Beitrag bereits angemerkt.

Und für den Event-Monitor solltest du mal das Wiki konsultieren, da steht noch vieles interessantes mehr neben dem Hinweis, dass man das ".*" auch ändern kann, das standarmäßig als Devspec verwendet wird ;) .
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Wernieman am 21 Dezember 2017, 13:04:59
Und WO DU einen "." hingesetzt hast, kommt auch keiner...

Die Syntax vom set (Siehe doku)
set device wert

Als Wert verwendest Du in diesem Falle natürlich Deinen Errechneten Ausdruck
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Beta-User am 21 Dezember 2017, 13:08:09
Ist der Punkt nicht an der Stelle als Binde-Anweisung wichtig? Conce...irgendwas?
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 21 Dezember 2017, 13:18:10
Ja ist er. Der Punkt muss schon bleiben. Er verbindet zwei Strings mit einander.

@Jupedi
Zeig mal bitte jetzt ein list vom Notify
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 21 Dezember 2017, 13:35:52
List vom Notify: 1_n_Vorlaufkorrektur

Internals:
   CFGFN     
   DEF        1_Vorlauftemperatur.* { fhem("set 1_Vorlauftemperatur_korrigiert " . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
   NAME       1_n_Vorlaufkorrektur
   NOTIFYDEV  1_Vorlauftemperatur.*
   NR         4738
   NTFY_ORDER 50-1_n_Vorlaufkorrektur
   REGEXP     1_Vorlauftemperatur.*
   STATE      2017-12-21 13:32:30
   TYPE       notify
   READINGS:
     2017-12-21 12:31:20   state           active
Attributes:
   room       Heizung,notifications
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Wernieman am 21 Dezember 2017, 13:37:59
@CoolTux:
Stimmt .. ist ja perl ebene .. sorry
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 21 Dezember 2017, 14:26:37
Zitat von: Wernieman am 21 Dezember 2017, 13:37:59
@CoolTux:
Stimmt .. ist ja perl ebene .. sorry

Null Problemo   :)
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 21 Dezember 2017, 14:31:00
Zitat von: Jupedi am 21 Dezember 2017, 13:35:52
List vom Notify: 1_n_Vorlaufkorrektur

Internals:
   CFGFN     
   DEF        1_Vorlauftemperatur.* { fhem("set 1_Vorlauftemperatur_korrigiert " . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
   NAME       1_n_Vorlaufkorrektur
   NOTIFYDEV  1_Vorlauftemperatur.*
   NR         4738
   NTFY_ORDER 50-1_n_Vorlaufkorrektur
   REGEXP     1_Vorlauftemperatur.*
   STATE      2017-12-21 13:32:30
   TYPE       notify
   READINGS:
     2017-12-21 12:31:20   state           active
Attributes:
   room       Heizung,notifications


Gib mir etwas Zeit. Ich muss das nachbauen
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 21 Dezember 2017, 14:47:18

1_Vorlauftemperatur.* { fhem("set 1_Vorlauftemperatur_korrigiert " . (Value("1_Vorlauftemperaturkorrekturwert") + $EVENT)) }


So funktioniert es bei mir
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 21 Dezember 2017, 18:20:57
die Fragezeichen sind weg, und es erscheint ein Zahlenwert.
Er verändert sich auch, allerdings ist das Ergebnis nicht richtig.
In der korrigierten Ausgabe erscheinen sogar Werte die erheblich kleiner sind als der Ausgangswert, obwohl er ja um den Korrekturwert größer sein müsste. Z.B. 50+3 => 30

In dem Haufen von Zeug was ich gelesen habe, standen irgendwo Einschränkung wie etwas beginnen darf. Kann mich nicht mehr entsinnen wo und was das war. Variablen und Notify dürfen aber schon mit einer Zahl beginnen?

Das Log enthält noch immer so was:

2017.12.21 16:46:45 3: eval: my $SELF='1_n_Vorlaufkorrektur';my $EVTPART0='47.8';my $NAME='1_Vorlauftemperatur';my $EVENT='47.8';my $TYPE='dummy';{ fhem("set 1_Vorlauftemperatur_korrigiert " . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
2017.12.21 16:46:45 3: 47.8 : Unknown command 47.8, try help.
2017.12.21 16:46:45 3: 1_n_Vorlaufkorrektur return value: Unknown command 47.8, try help.
2017.12.21 16:49:41 1: PERL WARNING: Argument "set 1_Vorlauftemperatur_korrigiert 3" isn't numeric in addition (+) at (eval 194928) line 1.
2017.12.21 16:49:41 3: eval: my $NAME='1_Vorlauftemperatur';my $TYPE='dummy';my $EVENT='48.4';my $SELF='1_n_Vorlaufkorrektur';my $EVTPART0='48.4';{ fhem("set 1_Vorlauftemperatur_korrigiert " . Value("1_Vorlauftemperaturkorrekturwert")+$EVENT) }
2017.12.21 16:49:41 3: 48.4 : Unknown command 48.4, try help.
2017.12.21 16:49:41 3: 1_n_Vorlaufkorrektur return value: Unknown command 48.4, try help.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 21 Dezember 2017, 18:36:34
@CoolTux
Haben bei dir die Zahlenwerte gestimmt?

Buchstaben am Namensbeginn der Variablen haben nix gebracht.  :-\
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: betateilchen am 21 Dezember 2017, 18:41:20
Herrlich... ein Popcorn Thread, der mal wieder mein Gemüt erheitert...

(Denn sie wissen nicht, was sie tun)
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 21 Dezember 2017, 19:22:16
@betateilchen
Ich (nur für mich) kann leider nicht wirklich widersprechen.  :-[

Warum, weiß ich nicht, aber folgendes Verhalten der Werte lässt sich beobachten:
Gebe ich für den 1_Vorlauftemperaturkorrekturwert z.B. 4 ein, so zeigt 1_Vorlauftemperatur_korrigiert im nächsten Moment den dreifachen Wert
des Korrekturwertes an, also 12.

Nach der nächsten Änderung der Vorlauftemperatur durch den Sensor (Vorlauftemperatur jetzt z.B. 50) springt 1_Vorlauftemperatur_korrigiert auf einen Wert von Vorlauftemperatur + 2 X Korrekturwert, also 58.

Habe das jetzt einige male so durchprobiert.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: CoolTux am 21 Dezember 2017, 19:30:13

1_Vorlauftemperatur.[0-9]+ { fhem("set 1_Vorlauftemperatur_korrigiert " . (Value("1_Vorlauftemperaturkorrekturwert") + $EVENT)) }


Deine Dummys heißen einfach zu ähnlich, es gab mehrere trigger auf das Notify. Hier ein angepasster Code, bitte 1 zu1 übernehmen.
Titel: Antw:Zwei Dummy Werte addieren und in dritten Dummy schreiben, finde den Fehler nicht
Beitrag von: Jupedi am 22 Dezember 2017, 12:22:22
@CoolTux

Habe es per copy/paste übernommen. Leider wird der Zielwert dann nicht mehr korrigiert.

Bin daraufhin zu deiner vorherigen DEF  zurückgewechselt und jetzt wird er wieder korrigiert, wenn auch wiederum um den doppelten Betrag.

Ich will ja niemand mehr als nötig die Zeit stehlen und würde deshalb jetzt einfach den halben Korrekturwert verwenden und gut ists.
Zumal das Ganze ja wohl ein eher uneleganter Ansatz ist und irgendwann neu gemacht gehört.

Wenn das ok ist, würde ich es an der Stellen beenden.

Vielen Dank für die Hilfe u. Geduld!!!