Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
crazydrive
Beiträge: 5
Registriert: 21.11.2023, 21:22
System: CCU

Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von crazydrive » 21.11.2023, 21:37

Hallo zusammen,

ich möchte in einer Systemvariablen die Regenmenge vom aktuellen Tag in mm anzeigen lassen.

Dazu habe ich folgendes Script verwendet:

Code: Alles auswählen

if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("RegenzählerTag") ) 
{ dom.GetObject(ID_SYSTEM_VARIABLES).Get("RegenzählerTag").State(todayTotal);}
Das Problem dabei, die Zahl wird als 1,70000 angezeigt.
Würde die Zahl gerne mit nur einer Nachkommastelle anzeigen und dann mit "mm" dahinter.
Kann mir da jemand helfen?
Vielen Dank :)
Zuletzt geändert von alchy am 22.11.2023, 15:12, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

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

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von Henke » 21.11.2023, 21:45

Das Script bitte komplett und in code Tags veröffentlichen.

Dein Script macht keinerlei Sinn:

Code: Alles auswählen

if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("RegenzählerTag") )
{ dom.GetObject(ID_SYSTEM_VARIABLES).Get("RegenzählerTag").State(todayTotal);}

Benutzeravatar
Baxxy
Beiträge: 10850
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2230 Mal

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von Baxxy » 22.11.2023, 08:00

crazydrive hat geschrieben:
21.11.2023, 21:37
Würde die Zahl gerne mit nur einer Nachkommastelle anzeigen und dann mit "mm" dahinter.
Aussehen müsste die relevante Zeile dann bspw. so:

Code: Alles auswählen

dom.GetObject(ID_SYSTEM_VARIABLES).Get("RegenzählerTag").State(todayTotal.ToString(1)#" mm");
Henke hat geschrieben:
21.11.2023, 21:45
Script macht keinerlei Sinn:
Warum? Er prüft ob die SysVar vorhanden ist und wenn ja schreibt er "todayTotal" rein.
Könnte man natürlich "schöner machen", unsinnig ist es aber nicht.

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

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von alchy » 22.11.2023, 15:28

Baxxy hat geschrieben:
22.11.2023, 08:00
Aussehen müsste die relevante Zeile dann bspw. so:
um dann in einer Systemvariablen Typ Zeichenkette eine Zahl so zu speichern / anzuzeigen.
crazydrive hat geschrieben:
21.11.2023, 21:37
ich möchte in einer Systemvariablen die Regenmenge vom aktuellen Tag in mm anzeigen lassen.
stellt sich die Frage WO du das Ganze dann angezeigt haben möchtest :?:
Systemvariablen haben ja die Möglichkeiten des Benutzens einer Einheit und werden zumindest mit 2 Nachkommastellen in der Klickibunti unter Status und Bedienung und bei den Favoriten usw. angezeigt.

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.

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

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von Henke » 22.11.2023, 18:03

Baxxy hat geschrieben:
22.11.2023, 08:00
Könnte man natürlich "schöner machen", unsinnig ist es aber nicht.
Abgesehen vom schöner, macht bei mir Code Sinn, wenn ich auf einen Zustand entsprechend reagiere.

Sinnvoll, mMn:
Kontrolle Variable nicht da -> Fehlermeldung und/oder anlegen
Keine Kontrolle -> Fehlermeldung durch Rega

crazydrive
Beiträge: 5
Registriert: 21.11.2023, 21:22
System: CCU

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von crazydrive » 22.11.2023, 18:44

Hallo,

danke erstmal für die Hilfe! Ich möchte den Wert in Neo mediola nachher anzeigen können,
das geht mit einer Systemvariablen ganz gut.
Wenn es da noch einen anderen Weg gibt, bin ich offen dafür :)

crazydrive
Beiträge: 5
Registriert: 21.11.2023, 21:22
System: CCU

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von crazydrive » 22.11.2023, 18:51

[/quote]
Aussehen müsste die relevante Zeile dann bspw. so:

Code: Alles auswählen

dom.GetObject(ID_SYSTEM_VARIABLES).Get("RegenzählerTag").State(todayTotal.ToString(1)#" mm");
Das ist genau das was ich suchte, vielen Dank Baxxy!
Ich bin noch ganz am Anfang, darf ich nachfragen was man da noch "schöner" machen kann?
Hab die Zeile übernommen :) Alles funktioniert.

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

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von Henke » 22.11.2023, 20:04

In Neo mediola kannst du die Ausgabe auch formatieren und da dann die "mm" anhängen. Das spart ein Programm, eine Systemvariable und ein Script.

Bei Scripts kann man sie besser strukturieren. Generell im Hinterkopf behalten, man definiert nur einmal:
Beispiel, mal mit 2 Werten, Regen und Sonne:

Code: Alles auswählen

var todayTotal = 10;
if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("RegenzählerTag") )
{ dom.GetObject(ID_SYSTEM_VARIABLES).Get("RegenzählerTag").State(todayTotal# " mm");}

var todayTotalSonne = 1000;
if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("SonnenZählerTag") )
{ dom.GetObject(ID_SYSTEM_VARIABLES).Get("SonnenZählerTag").State(todayTotal # " Lux");}
besser:

Code: Alles auswählen

object SysVar = dom.GetObject(ID_SYSTEM_VARIABLES);
object oSysRegen = SysVar.Get("RegenzählerTag");
object oSysSonne = SysVar.Get("SonnenZählerTag");

if ( !oSysRegen || !oSysSonne ) { WriteLine ( "Eine Systemvariable fehlt." ); quit; }

var todayTotal = 10;
oSysRegen.State(todayTotal # " mm");}

var todayTotalSonne = 1000;
oSysSonne.State(todayTotalSonne # " Lux");}

Fonzo
Beiträge: 6744
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 486 Mal

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von Fonzo » 22.11.2023, 22:59

crazydrive hat geschrieben:
22.11.2023, 18:44
Wenn es da noch einen anderen Weg gibt, bin ich offen dafür
Formatierung drücken und dann die Nachkommastellen angeben, das ist alles. Dann benötigst Du weder ein Skript noch eine zusätzliche Systemvariable.
Text Formatierung.png
Text Formatierung.png (13.09 KiB) 231 mal betrachtet

crazydrive
Beiträge: 5
Registriert: 21.11.2023, 21:22
System: CCU

Re: Anzeige Regenmenge HmIP-SWO-PL, Nachkommastellen

Beitrag von crazydrive » 23.11.2023, 19:48

Vielen Dank für eure ganze Hilfe und die wertvollen Tips :)
Versuche nun noch Regenmenge "gestern" zu programmieren.
Bin für jede Hilfe dankbar! :)

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“