Anfänger Hilfe Variable aus 2 Variablen errechnen

Hallo
leider scheitere ich beim PHP immer noch selbst bei den einfachsten Aufgaben

Ich möchte die Temperatur diverenz berechnen und habe es leider über einen Ablaufplan auch nicht geschaft

wo ist mein Fehler ?

$Vorlauf=51851;

$rücklauf=16332;

$div =($vorlauf-$rücklauf);

SetValue= (12472,$div);

danke schon mal

ok etwas weiter habe ich es noch selbst geschaft
$Vorlauf=51851;

$rucklauf=16332;

$div=($Vorlauf-$rucklauf);

SetValue(12472,$div);

nur bekomme ich jetzt kein logisch sinvolles ergebniss
reale werte 33,8Grad - 30,30 Grad = 35519 Grad

Du rechnest 51851 - 16332, somit stimmt das Ergebnis.
Du musst die Werte aus den Variablen holen, so nimmst du ja nur die Variablen ID als Wert.
Such mal in der Doku nach GetValue.
Ein Beispiel:

$vorlauf=GetValueFloat(51851);

Je nachdem ob du Float oder Integer Variablen hast musst Du das anpassen.

Frühe Grüsse,
Loerdy

Oder einfach bei GetValue() bleiben, dann ist der Variablentyp erst mal egal.

Ich frage mal ganz vorsichtig, warum überhaupt als PHP-Skript? Das Beispiel und viele andere Anwendungsfälle kannst du dir auch ohne PHP-Kenntnis via Ablaufplan zusammenklicken. Oder möchtest du noch PHP lernen um beispielsweise in der Modulentwicklung einzusteigen?

Hallo

Ich habe es zuerst mit dem Ablaufplan versucht,
Habe dort aber nicht die Funktion wie in meinem PHP ( Versuch)
Grob sah mein Ablaufplan so aus

Angewendet auf die Variable Differenz

Ausführen bei Aktualisierung Temp Vorlauf

1 schreibe wert von Temp Vorlauf in Differenzen
2 subtrahiere Temp Rücklauf

Funktionierte im Prinzip
Menschlich sichtbar ist eigentlich nur das richtige Ergebnis
Im Detail
ist aber kurz der Wert des Vorlauf in der Variablen
Was bei Auswertungen in Grafen schon für extrem Werte sorgt

Wenn ich im Ablaufplan
Auswählen könnte
Mathematische Funktion
Variable A minus Variable B und das Ergebnis in Variable C schreiben
Würde ich das nützen

Oder ich hab’s nicht gesehen / gefunden/ verstanden wie die Funktion im Aplaufplan gedacht war

Danke

Ah, ich verstehe das Problem. Ich würde dann einfach eine Hilfsvariable unter den Ablaufplan hängen, die Berechnung darin machen und den Wert dann zum Abschluss in die tatsächliche Variable kopieren.

Die Differenz zweier Variablen in eine andere Schreiben ist ja vielleicht auch eine kleine Funktion die sich leicht in den Ablaufplan einbinden lässt …
Für die Zukunft ( und alle die so wenig PHP können wie ich grinz)

Warum machst Du das? Gibt es dafür einen speziellen Grund?
Offensichtlich stört dich das ja bei den Graphen …

Ich würde einfach ein kleines Script basteln, in etwa so:

<?php

$vorlauf=GetValue(51851);
$rucklauf=GetValue(16332);
$div=($vorlauf-$rucklauf);

SetValue(12472,$div);

und das dann bei Änderung von Vorlauf oder Rücklauf ausführen.
( brauche ich nicht, bei mir macht das der Messfühler :smiley: )
Ich kumuliere aber an einigen Stellen, das sieht dann z.B. so aus:

<?php

$varid1 = 52835;
$varid2 = 38968; // Yield Today
$varid3 = 48267; // Yield Yesterday
$varid4 = 13322; // Yield User

$pvpower1 = GetValueFloat (53157); // Ausrichtung Süden
$pvpower2 = GetValueFloat (37188); // Ausrichtung Osten
$pvpower = ($pvpower1 + $pvpower2);
SetValueFloat ($varid1, $pvpower);

$ytoday1 = GetValueFloat(46199); // Ertrag Süden Heute
$ytoday2 = GetValueFloat(33767); // Ertrag Osten Heute
$ytoday = ($ytoday1 + $ytoday2); // Ertrag Gesamt
SetValueFloat ($varid2, $ytoday);

$yyest1 = GetValueFloat(30157); // Ertrag Süden Gestern
$yyest2 = GetValueFloat(13117); // Ertrag Osten Gestern
$yyest = ($yyest1 + $yyest2); // Ertrag Gesamt
SetValueFloat ($varid3, $yyest);

$yuser1 = GetValueFloat(10487); // Ertrag Süden gesamt
$yuser2 = GetValueFloat(49084); // Ertrag Osten gesamt
$yuser = ($yuser1 + $yuser2);
SetValueFloat ($varid4, $yuser);

Gruß,
Loerdy