[GELÖST] Mathematik

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: [GELÖST] Mathematik

Beitrag von dtp » 29.07.2020, 10:42

Black hat geschrieben:
29.07.2020, 10:29
das ist fieserweise nicht so ganz richtig....
Danke für deine Erläuterungen. Aber meine Aussage bezog sich nur auf den Variablentyp des Ergebnisses und nicht auf dessen Wert. Insofern war sie schon richtig. 8)

Ganz gemein wird's, wenn man besonders "schlau" sein will und einfach zur Sicherheit noch ein ".ToFloat()" hinten dran setzt. Bekanntermaßen wird ein Skript ja nicht ausgeführt, wenn man einen Real-Wert mit ".ToFloat()" behandelt. Andererseits stellt ".ToInteger()" auf einen Integer-Wert kein Problem dar.

Ich hatte nun das zusätzliche Problem, dass ich mit einer String-Variablen (ausgehend von dom.GetObject($src$).Value()) einen Mittelwert berechnen wollte, die sowohl ganzzahlig, als auch reell, als auch boolesch sein kann. Und wenn man dann auch noch mehrere if-Bedingungen in Abhängigkeit von dem Ergebnis im Skript hat, kann es schon mal zum Haare raufen sein. Aber ich hab's mittlerweile in den Griff bekommen. :wink:
Zuletzt geändert von dtp am 29.07.2020, 10:55, insgesamt 2-mal geändert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: [GELÖST] Mathematik

Beitrag von Black » 29.07.2020, 10:46

so gedeutet hat du natürlich auch recht, das Endergebnis wird, wie du korrekt angemerkt hast. den Typ des obersten Stackelementes haben, was in Zeilenschreibschrift das erste (ganz Liniks stehende ) Element der Gleichung ist.

Nur Zwischendrin gelten diese Typkonversionsregeln natürlich auch, und das ist halt ein beliebter Fehler.

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
jmaus
Beiträge: 9865
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1883 Mal
Kontaktdaten:

Re: [GELÖST] Mathematik

Beitrag von jmaus » 29.07.2020, 14:19

dtp hat geschrieben:
29.07.2020, 10:42
Black hat geschrieben:
29.07.2020, 10:29
das ist fieserweise nicht so ganz richtig....
Ganz gemein wird's, wenn man besonders "schlau" sein will und einfach zur Sicherheit noch ein ".ToFloat()" hinten dran setzt. Bekanntermaßen wird ein Skript ja nicht ausgeführt, wenn man einen Real-Wert mit ".ToFloat()" behandelt. Andererseits stellt ".ToInteger()" auf einen Integer-Wert kein Problem dar.
Na wenn das wirklich so ist, dann solltest du ggf im RaspberryMatic GitHub einfach mal ein ReGaHss bezogenes Ticket dazu aufmachen denn es sollte ein leichtest sein das ToFloat() auf für ein float typ zuzulassen und einfach dann den float wert zurück zu liefern statt ein runtime error zu erzeugen...
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

MichaelN
Beiträge: 9684
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: [GELÖST] Mathematik

Beitrag von MichaelN » 29.07.2020, 20:03

LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: [GELÖST] Mathematik

Beitrag von alchy » 29.07.2020, 20:43

Was soll denn das? jmaus, als ob du es nicht wüsstest :shock:

.ToFloat() ist nur auf Variablentyp string anwendbar.
.ToInteger() dagegen auf Variablentypen integer, boolean, real, string, time

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

MichaelN
Beiträge: 9684
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: [GELÖST] Mathematik

Beitrag von MichaelN » 29.07.2020, 20:44

Deswegen ist es auch ein Feature request und kein Bug Report :roll:
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
jmaus
Beiträge: 9865
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1883 Mal
Kontaktdaten:

Re: [GELÖST] Mathematik

Beitrag von jmaus » 29.07.2020, 23:27

alchy hat geschrieben:
29.07.2020, 20:43
Was soll denn das? jmaus, als ob du es nicht wüsstest :shock:
Nöh, ich bin vergesslich wie du und jeder andere und hab darüberhinaus auch noch besseres zu tun als mich nur um ReGaHss zu kümmern. Insofern kann, will und muss ich auch nicht alles rund um die ReGa wissen oder mir merken.
.ToFloat() ist nur auf Variablentyp string anwendbar.
.ToInteger() dagegen auf Variablentypen integer, boolean, real, string, time
Und was spricht dagegen das jetzt zu ändern und .ToFloat() auch auf andere Datentypen anwendbar zu machen? Denn die Argumentationen die bisher für die Implementierung des selbigen gegeben wurden erscheinen mir schlüssig zu sein.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: [GELÖST] Mathematik

Beitrag von alchy » 30.07.2020, 22:01

jmaus hat geschrieben:
29.07.2020, 23:27
Nöh, ich bin vergesslich .... und hab darüberhinaus auch noch besseres zu tun
Da ist absolut überhaupt nichts dagegen zu sagen :!:

aber
jmaus hat geschrieben:
29.07.2020, 14:19
Na wenn das wirklich so ist
das ist dann doch "XXXXXXX". :lol:
jmaus hat geschrieben:
29.07.2020, 23:27
Und was spricht dagegen das jetzt zu ändern
Hab ich ja nicht behauptet, das etwas dagegen spräche. :shock:

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „RaspberryMatic“