Script Hilfe Variabelen mit Faktor Verknüpfen

Hallo zusammen,
Ich brauche einmal eine Starthilfe

Ich möchte gerne 2 (oder mehr) Variabelen mit einander Verknüpfen 1:1 geht das ja direkt ich benötige aber einen Faktor dazu.
Also wenn Variabele 1 ( Master) auf 24% gedimmt wird soll Variabele 2 auf 24%*Faktor 1,1 also 26,2% gedimmt werden.
Ich möchte hiermit folgendes umsetzten, Zum einen sollen unterschiedliche Helligkeitsverhältnisse dverser Dimmer / Lampen ausgeglichen werden
Zum anderen möchte ich mit meinen Warm Weiß / Kalt Weiß LED Streifen dem Tagesverlauf anpassen dafür währe es dann gut wenn der Faktor über eine weitere Variabele eingestellt werden kann

kann mir jemand beim Script schreiben helfen ich bin da leider noch nicht fitt drin
Veielen Dank im Vorraus

Wieviel oder was hast du denn schon?
Eventuell schau dir mal die Ereignisse an. Die können auch rechnen ohne dafür ein PHP Skript bemühen zu müssen.

Danke für den Beitrag

Leider habe ich „nur“ die Aufgabenstelung,
Ereignisse habe ich mir angeschaut aber leider geschiet das nicht feinstufig genug, wenn ich es richtig gesehen habe kann mann nur ganze Faktoren einstellen was schon mal für meine Wünsche viel zu grob ist, zum anderen Reagiert es nur auf Schalten damit kann ich keine Dimmer Kurve anpassen,
und zum schluss währe es auch noch keine Vorbereitung für einen „Globalen“ Faktor

Also wenn ich das richtig verstehe, dann ist Variable 1 diejenige, in welcher der Ursprungswert steht. Dieser soll mit dem Faktor multipliziert in die Variable 2 geschrieben werden. Richtig?

Du erstellst ein Skript in welchem Du die gewünschte mathematische Operation durchführst. Dieses Skript startest Du mit Hilfe eines Ereignisses immer dann, wenn sich Variable 1 ändert.

Die Doku hilft Dir dabei:
https://www.symcon.de/service/dokumentation/konzepte/ereignisse/

→ speziell
https://www.symcon.de/service/dokumentation/konzepte/ereignisse/ausgeloest/

https://www.symcon.de/service/dokumentation/befehlsreferenz/variablenzugriff/setvalue/

Falls es nicht funktionieren sollte, zeig Deinen bisherigen Ansatz und Dir wird geholfen.

Wobei nicht klar ist, was mit „Variable 2 soll gedimmt werden“ gemeint ist. Möglicherweise ist SetValue hier auch nicht richtig und es müsste z.B. KNX_WriteDPT5 oder so etwas verwendet werden. Deine Anforderung ist diesbezüglich leider nicht aussagekräftig genug.

Danke für die Denkanstöße

"Also wenn ich das richtig verstehe, dann ist Variable 1 diejenige, in welcher der Ursprungswert steht. Dieser soll mit dem Faktor multipliziert in die Variable 2 geschrieben werden. Richtig?
"
Richtig genau das

" Wobei nicht klar ist, was mit „Variable 2 soll gedimmt werden“ gemeint ist. Möglicherweise ist SetValue hier auch nicht richtig und es müsste z.B. KNX_WriteDPT5 oder so etwas verwendet werden. Deine Anforderung ist diesbezüglich leider nicht aussagekräftig genug."

Genau darum geht es
Ich versuche mich noch mal ein bisschen bzw. werde eine Ausführliche(re) Situationsberschreibung estellen und melde mich dann wieder

Klingt vielleicht doof, aber was wir sehen wollen ist, dass du es versucht hast. Und dass du dich damit beschäftigt hast.

Das klingt nämlich wie bei StackOverflow, wenn Schüler die Aufgabenstellung posten und wir die Arbeit machen sollen :smiley:

Was du suchst ist meiner Meinung nach ein Einzeiler in PHP. Und DerStandart hat dir alle notwendigen Dokustellen gegeben.

Sollte es immer noch nicht klappen formulier noch einmal genau was du probiert hat und wo es harpert - dann helfen wir dir gerne :slight_smile:

Vielleicht willst du (sofern du schalten willst) dir auch RequestAction — IP-Symcon :: Automatisierungssoftware ansehen.

paresy

Hallo Zusammen
Ich habe viel getestet und zwischenzeitlich eher die einfachen „Aufgaben“ von meinem Haustechnik abgearbeitet.
Jetzt stehe ich wieder hier …
Sicher ist einiges davon mit dem " wir wollen das du es Versuchst" bzw dem "macht mir das mal " zu vergleichen,
Als ich vor 10 Jahren an meiner XS1 die FS20 Aktoren Programiert habe halfen mir die Foren sehr, das sich jemand meiner Aufgabe annahm „es für mich erledigte“ und ich dadurch den Workaround verstehen konnte um so dies selber weiter zu entwickeln

Nun zurück zum Aktuellen
für Step1 von … ( bis zur Wunschvorstellung )

$var1 = GetValue(27881)
SetValue(16843)= Var1*1,1

wie muss dieser Befehel aussehen das er funktioniert ?

Nimm stat „1,1“ „1.1“ und mach hinter jeder Zeile einen „;“ zum Abschluss. Dann noch statt „Var1“ „$var1“. Also dann so

$var1 = GetValue(27881);
SetValue(16843)= $var1*1.1;

wohl eher so

$var1 = GetValue(27881);
SetValue(16843,$var1*1.1);

https://www.symcon.de/service/dokumentation/befehlsreferenz/variablenzugriff/setvalue/

Natürlich, das hab ich komplett übersehen :wink:

Ich scheiter beim senden zu KNX
Ich hoffe selber etwas dazu zu lernen …
16843 ist die Instanz ich dachte wenn ich die auf einen Wert setze setzen die Automatik Skripte das danach auf " Datenpunkt senden"
22825 ist dann die eigentliche Variable unter der Instanz aber,( Natürlich KNX Import nur lesen )
werte sind Prozentwerte % ( Helligkeit bei KNX )
$var1 = GetValue(27881);
KNX_WriteDPT6(22825,$var1*1.1);

Als fehlermeldungen bekomme ich entweder
Warning: Instanz #22825 existiert nicht in C:\ProgramData\Symcon\scripts\59056.ips.php on line 3

mh hatte echt gehoft den letzten schritt selber zu schaffen …

bin ein stück weiter
$var1 = GetValue(27881);
EIB_DimValue(16843,$var1*0.5);

danke allen die mir geholfen haben erstmal rein zu kommen
es wird sicher nicht die letzte blockade sein die gelöst werden muss :- )