Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Variablen dynamisch ändern?


Themenersteller
Parker_Payne
Neues Mitglied
Neues Mitglied
Beiträge: 10
Registriert: Mo 20. Jun 2016, 19:32

#1 Variablen dynamisch ändern?

Beitragvon Parker_Payne » Mo 5. Jun 2017, 21:50

Hallo Leute,

Ich würde gerne eine Variable in Abhängigkeit einer anderen Variablen ändern, leider fällt mir keine kreative Lösung ein!

Anwendungsfall: Ich habe zwei Außen-Temperatursensoren. Zur Steuerung/Anzeige der Außen-Temperatur nutze ich eine Variable C. Der Temperaturfühler A sitzt unter einem Vordach Südseite. Der andere Sensor B auf der Westseite. Der Sensor auf der Westseite gibt bei Sonnenschein am Abend für ein Zeitfenster von gut 2 Stunden verfälschte Werte, da die Sonne darauf scheint. Daher meine Lösungsidee, bei Lux/Sonnenstand/oder zur Not auch Zeitschaltuhr die Außen-Temperatur-Variable C entweder von Sensor A ODER B "befüllen" zu lassen.

Hat jemand eine Lösungsidee?

Danke und viele Grüße

Benutzeravatar

Beleuchtfix
Administrator
Administrator
Beiträge: 5309
Registriert: Mi 10. Jan 2007, 18:49
Hat sich bedankt: 2 Mal
Danksagung erhalten: 6 Mal
Kontaktdaten:

#2 Re: Variablen dynamisch ändern?

Beitragvon Beleuchtfix » Di 6. Jun 2017, 00:37

Kannst du nicht kleinere der beiden Temperaturen nehmen? Das müsstest du errechnen können.

Viel Erfolg
Florian

Benutzeravatar

Uwe
...
Beiträge: 14086
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

#3 Re: Variablen dynamisch ändern?

Beitragvon Uwe » Di 6. Jun 2017, 01:01

Moin,
für mich wäre da erst mal die Frage nach der FW der Module (und damit der Anzahl der Variablen).
Mit den neuen Modulen und den damit auch verfügbaren umfangreichen Berechnungen in den Var's müsste da eigentlich was gehen.
Ich kenne das Problem bei mir (mit alten Modulen) mit dem Lichtwert, der morgens mal für eine knappe Stunde die aufgehende Sonne bekommt. Mittlerweile (nach 10 Jahren) haben sich bei mir alle daran gewöhnt, so dass Anpassungen nicht notwendig sind.
Hast du eine Visualisierung die die Werte erfasst? Ich hätte z.B.mit Symcon keine Probleme eine 'manipulierte' Varaiable zu erzeugen.
Was willst du mit dem Wert am Ende steuern?
Auch bei mir sitzen 2 Temperatursensoren - auf der Windseite im Osten ein etwas trägerer TSA, im Westen regengeschützt ein TS. Der Osten ist je nach Wind und Wetter meist 2k kälter. Ich zeige einfach beide Werte an, jeder berechnete Wert wäre sonst mit Frauchens "Aldi-Thermometer" nicht konform ;)

Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------

Benutzeravatar

Thomas.Einzel
Lord Forum
Lord Forum
Beiträge: 1122
Registriert: Do 30. Mai 2002, 07:59
Hat sich bedankt: 2 Mal
Danksagung erhalten: 6 Mal

#4 Re: Variablen dynamisch ändern?

Beitragvon Thomas.Einzel » Di 6. Jun 2017, 15:06

Ich habe gestern Abend schon gegrübelt, aber ich habe leider keine einfache und korrekte Lösung.

Der schnelle, aber nur halbe Weg: Vorausgesetzt, dass ein neues Modul mit 12 Variablen zur Verfügung steht kann man mit der Rechnen Funktion beide Werte addieren und durch 2 Teilen - damit hat man den Mittelwert und hat den "Meßfehler" (der vermutlich nur ein Montagefehler ist -> TSx dafür an Nordseite oder mind. im Schatten montieren) ca. halbiert.

Die "Toleranz" des Mittelwertes von einem der beiden Sensormesswerte kann man durch Subtraktion eines der beides TSx Messwerte mit dem Mittelwert feststellen.

Mittelwert und Toleranz geht, ich habe es schon mal vor längerer Zeit getestet. Aber ich bekomme das Vorzeichen der "Toleranz" nicht weg.

Nun brächte man nur noch Mittelwert - (Absolutwert der Differenz) rechnen um den kleineren Wert zu bekommen. Nur weiß ich nicht, wie man den Absolutwert der Differenz mit der Variablen -Rechenfunktion machen könnte. Wenn das einer weiß. könnte man unter ggf. Vereinfachung des aufgezeigten Rechenweges den jeweils kleineren Meßwert ermitteln.
Oder einen Temperatursensor an einer geeigneten Stelle anbringen.

Thomas

Benutzeravatar

Thomas
Alleswisser
Alleswisser
Beiträge: 5677
Registriert: Mo 21. Apr 2008, 20:03
Hat sich bedankt: 16 Mal
Danksagung erhalten: 10 Mal
Kontaktdaten:

#5 Re: Variablen dynamisch ändern?

Beitragvon Thomas » Di 6. Jun 2017, 19:23

Da gegrübel ich schon länger, und habe es mit IPS gemacht.
Bei mir hängt ein Sensor in der selbstgebauten Wetterhütte im Garten, eine Elsner Wetterstation am Garagengiebel, ein Temperaturfühler an der Hauswand (Nordseite, wo auch mal der Heizungsfühler seinen Dienst getan hatte.)
Mittlerweile löse ich solche Dinge nicht mehr direkt in LCN Modulen, dass geht über IPS (oder auch bestimmt mit GVS, Domiq, Openhab usw.) besser.
Mir hat da eine Messwertaufzeichung sehr geholfen, die passenden Daten zu finden, womit ich mein Heizung "fein" steuern kann.
Das alles ist aber sehr trickreich, und muss vor Ort angepasst werden. :lol:
lg Thomas


Themenersteller
Parker_Payne
Neues Mitglied
Neues Mitglied
Beiträge: 10
Registriert: Mo 20. Jun 2016, 19:32

#6 Re: Variablen dynamisch ändern?

Beitragvon Parker_Payne » Di 6. Jun 2017, 21:13

Danke für Eure Rückmeldungen. Folgende Antworten/Anmerkungen zu den Fragen bzw. Vorschlägen

@Beleuchtfix: Würde ich gerne so machen - wie kann ich denn eine WENN/DANN bzw. MIN (Sensor A, Sensor B) Funktion programmieren? Die Formelfunktion bei den Variablen scheint dies nicht herzugeben... ?
@Uwe: FW unterstützt 12 Variablen. Ich zeige den Werte zunächst mal in den GTs im Haus an und nutze diesen für die Beschattung.
@Thomas.einzeln: Tja, leider ist eine örtliche Veränderung der Sensoren nur eingeschränkt möglich. Ich kann ja nicht mal eben so die Hauswand neu durchbohren und die Kabel durchs Haus ziehen. Ansonsten ist die Idee gut - aber für die Sache mit dem "Absolutwert der Differenz" scheint es keine Lösung zu geben
@Thomas/Uwe: Aktuell noch keine Visu in Betrieb - hoffe noch auf Bordmitteln und Visu steht im nächsten Jahr auf der Agenda
@Alle: Mittelwert über die beiden Sensoren hilft nur eingeschränkt - der Unterschied der beiden Sensoren liegt teilweise bei 5K, was dann 2,5-3K Abweichung zur "echten" Temperatur ausmacht. Das wäre dann doch etwas unbefriedigend. Das Temperaturdelta ist auch nicht die ganze Zeit identisch (nur am frühen Abend im Fall von Sonne bei Sensor A; Sensor B zeigt am späteren Abend im Sommer für ebenfalls ca. 2 Stunden zu hohe Werte an, dass sich die Hitze noch unter dem Vordach staut), weshalb eine pauschale Korrektur nicht sinnvoll erscheint.

Danke für Eure Mühe und vielleicht noch weitere Ideen...

VG

Benutzeravatar

Thomas
Alleswisser
Alleswisser
Beiträge: 5677
Registriert: Mo 21. Apr 2008, 20:03
Hat sich bedankt: 16 Mal
Danksagung erhalten: 10 Mal
Kontaktdaten:

#7 Re: Variablen dynamisch ändern?

Beitragvon Thomas » Di 6. Jun 2017, 21:52

Aktuell noch keine Visu in Betrieb - hoffe noch auf Bordmitteln und Visu steht im nächsten Jahr auf der Agenda

Somit kannst du noch keine Auswertung machen, dir fehlen die historischen Daten, um die Messwerte im Tagesverlauf zu sehen.
Momentan Werte haben mir nichts genutzt.
Egal in welche Visu du dein Geld "versenkst" , achte auch Messwertaufzeichnungen mit Zeitverlauf !
lg Thomas

Benutzeravatar

Uwe
...
Beiträge: 14086
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

#8 Re: Variablen dynamisch ändern?

Beitragvon Uwe » Mi 7. Jun 2017, 00:53

Moin Moin,
du musst für den Fall schon ein paar Hilfvariablen durch Berechnungen erstellen. Aber
Parker_Payne hat geschrieben:... im Fall von Sonne ...

braucht dann eigentlich auch noch einen Lichtsensor am TS, mit dem du das noch verknüpfen kannst. Über die Drähte des I-Port wäre das mal nicht das Problem (auch am gleichen Ort), aber das treibt auch die Kosten hoch. Mit Bordmitteln ist das dann immer noch eine echt sportliche Aufgabe ... (aber auch eine nette Übung) :w00t:
Wenn/dann sollte mit einem Schwellwert gehen ;) . Die Formeln sind etwas gewöhnungsbedürftig, aber wenn man die alten Dreisatzkenntnisse wieder 'hervorkramt', geht damit schon einiges.
Ich sehe das eigentlich wie Thomas - ohne Aufzeichnungen kannst du die Abweichungen nicht wirklich erkennen und wirst sie auch nur entsprechend ungenau 'manipulieren'.
Mit aufgezeichneten Werten lassen sich übrigens auch im Nachhinein sehr gut Optimierungen erkennen und die 'Wirkung' nachvollziehen.

Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------


Themenersteller
Parker_Payne
Neues Mitglied
Neues Mitglied
Beiträge: 10
Registriert: Mo 20. Jun 2016, 19:32

#9 Re: Variablen dynamisch ändern?

Beitragvon Parker_Payne » Mi 7. Jun 2017, 08:04

@Thomas: Mir erschließt sich nicht die Notwendigkeit von historischen Messwerten. Ich weiß doch ganz genau unter welchen Bedingungen (Sonne + Abends = 5K Abweichung) der Messwert von der Norm abweicht. Der Mittelwert der Abweichung wäre dann bei einer hist. Betrachtung über Tage/Wochen etc. entsprechend niedrig. Im Ergebnis hilft IMHO keine absolute Anpassung (oder alternativ über eine lineare Funktion) des Sensorwertes, sondern nur, falls die Bedingungen (Sonne+Abends) eintreten.

@Uwe: Lichtsensor ist kein Problem. Wetterstation steht auf dem Dach. Wenn/Dann über Schwellwert geht natürlich - aber damit kann ich eine LED/Ausgang/Taste etc. schalten aber ja keine Variable ändern (oder eine Formel zur Berechnung einer Variablen anpassen bzw. einen Messwert dynamisch anpassen) - oder?

Danke für Eure Anregungen!
VG

Benutzeravatar

Uwe
...
Beiträge: 14086
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 12 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

#10 Re: Variablen dynamisch ändern?

Beitragvon Uwe » Mi 7. Jun 2017, 10:06

Mir fehlt da auch leider ein wenig die Zeit zum "spielen" (und/oder auch der Anwendungsfall) ... :blush:
Natürlich kannst du ... z.B. einen Ausgangswert als Variable nutzen. Mit Sperren, Sollwertverschiebungen etc.pp. hast du damit quasi unendliche Möglichkeiten. Ich denke, du wirst das (nicht ganz) mit einer Formel/Berechnung hin bekommen - aber ich glaube schon, da geht was.
Mit LCN-Bordmitteln ist der Aufwand dafür schon ordentlich - ich bin da aber über die Jahre auch verwöhnt durch aufzeichnende Visu's und ein paar Zeilen Skript.
Du wirst ein wenig probieren müssen, anders kommst du nicht an dein gewünschtes Ziel.

Grüße, Uwe
----------------o00o----'(_)'----o00o---------------------


Zurück zu „Programmierfragen“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast