Mathematische Funktionen für HM Script

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Mathematische Funktionen für HM Script

Beitrag von paul53 » 08.05.2014, 21:03

Mit folgendem TCL-Script "math.tcl" können bei Verwendung von CUxD System.Exe mathematische Funtionen aus HM Script aufgerufen werden. Welche Funktionen realisiert sind, sieht man im TCL-Script.
Im Gegensatz zu anderen Sprachen arbeiten die Winkelfunktionen mit Grad anstelle Bogenmaß.

Code: Alles auswählen

#!/bin/tclsh

if {$::argc < 2} {puts error}
if {$::argc > 3} {puts error}
set B [expr asin(1.0)/90.0]
set G [expr 90.0/asin(1.0)]
set x [lindex $::argv 1]
set n [lindex $::argv 0]
if {$::argc == 2} { 
  switch $n { 
    abs {puts [expr abs($x)]}
    acos {puts [expr $G*acos($x)]}
    asin {puts [expr $G*asin($x)]}
    atan {puts [expr $G*atan($x)]}
    cos {puts [expr cos($B*$x)]}
    cosh {puts [expr cosh($x)]}
    exp {puts [expr exp($x)]}
    log {puts [expr log($x)]}
    log10 {puts [expr log10($x)]}
    sin {puts [expr sin($B*$x)]}
    sinh {puts [expr sinh($x)]}
    sqrt {puts [expr sqrt($x)]}
    tan {puts [expr tan($B*$x)]} 
    tanh {puts [expr tanh($x)]}
    default {puts error} 
  }
}
if {$::argc == 3} {
  set y [lindex $::argv 2]
  switch $n {
    pow {puts [expr pow($x,$y)]}
    default {puts error}
  }  
}

Im folgenden Screenshot sieht man, wie die TCL-Funktion aufgerufen werden kann.
HM_Script_Mathe.JPG
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

habeas
Beiträge: 2
Registriert: 14.02.2023, 14:27
System: Access Point

Re: Mathematische Funktionen für HM Script

Beitrag von habeas » 26.01.2024, 21:01

Hallo paul53,

ich möchte gerne die log10 und exp - Funktionen aus der math.tcl nutzen.
Leider kapiere ich die Handhabung nicht.

Testweise habe ich mal mit der sqrt-Funktion und x = 9 getestet und scheitere bereits hier.
Ich erhalte in der CUxD-Info diesen Hinweis:

daemon.info cuxd[98669]: pclose(tclsh /usr/local/addons/math.tcl sqrt 9.000000) exit(1) 0s

Können Sie mir da bitte weiterhelfen?

Danke,
habeas

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Mathematische Funktionen für HM Script

Beitrag von Henke » 26.01.2024, 22:01

Ich denke der Beitrag von 2014 ist veraltet.
Mathematischen Funktionen sind in den Scripts vorhanden.

Code: Alles auswählen

real wert = 2.0;
WriteLine ( wert.Log10() );
WriteLine ( wert.Log10().Exp10() );     

Matsch
Beiträge: 5454
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 116 Mal
Danksagung erhalten: 743 Mal

Re: Mathematische Funktionen für HM Script

Beitrag von Matsch » 26.01.2024, 22:06

Henke hat geschrieben:
26.01.2024, 22:01
Mathematischen Funktionen sind in den Scripts vorhanden.
Einfach mal in der Script-Doku Teil 1 nachblättern?

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Mathematische Funktionen für HM Script

Beitrag von Henke » 26.01.2024, 22:11

Matsch hat geschrieben:
26.01.2024, 22:06
Einfach mal in der Script-Doku Teil 1 nachblättern?
Warum sagst du mir das? War mir ziemlich sicher, die stehen da drin und siehe da, sogar die Versionsnummer ab wann.

LINK: https://www.eq-3.com/Downloads/eq3/down ... g_V2.2.pdf

Matsch
Beiträge: 5454
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 116 Mal
Danksagung erhalten: 743 Mal

Re: Mathematische Funktionen für HM Script

Beitrag von Matsch » 26.01.2024, 22:13

Du warst nicht gemeint, ich wollte deine Bemerkung nur untermauern gegenüber dem Fragesteller, dann bräuchte man hier gar nicht nachfragen.

habeas
Beiträge: 2
Registriert: 14.02.2023, 14:27
System: Access Point

Re: Mathematische Funktionen für HM Script

Beitrag von habeas » 26.01.2024, 22:37

Danke für den Hinweis. Hab es gefunden :-)
habeas

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“