SysVar *100 per Script
Moderator: Co-Administratoren
-
- Beiträge: 3733
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 120 Mal
SysVar *100 per Script
Hallo
ich habe eine Sysvar vom Typ Zahl mit dem Namen "DG_SZ_VP"
Diese SysVar deren Werte zwischen 0.00 und 1.00 liegen können, möchte ich gern mit 100 multiplizieren.
0.68 -> 68
Kann mir da bitte jemand mit einem Script Einzeiler helfen?
ich habe eine Sysvar vom Typ Zahl mit dem Namen "DG_SZ_VP"
Diese SysVar deren Werte zwischen 0.00 und 1.00 liegen können, möchte ich gern mit 100 multiplizieren.
0.68 -> 68
Kann mir da bitte jemand mit einem Script Einzeiler helfen?
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: SysVar *100 per Script
Und was willst du mit dem neuen Wert machen?
Ausgeben, wieder speichern?
Alchy
Ausgeben, wieder speichern?
Code: Alles auswählen
object oSysvar = dom.GetObject(ID_SYSTEM_VARIABLES).Get("DG_SZ_VP");
if (oSysvar) { WriteLine("Systemvariable vorhanden");
WriteLine("der Wert ist: "#oSysvar.Value());
real rErgebnis = oSysvar.Value()*100.0;
WriteLine("Das Ergebnis wäre also dann:" #rErgebnis);
}else{WriteLine("Systemvariable NICHT vorhanden");}
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.
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: SysVar *100 per Script
Hallo Alchy!
Ziel verfehlt!
Ein Einzeiler war gefordert, nicht ein Sechszeiler!
Als Script-Rookie würde ich da vorschlagen:
dom.GetObject("Ziel_SV").State(0 + (100.0 * dom.GetObject("DG_SZ_VP")));
Dabei ist berücksichtigt, dass nach CCU-Logik 100 * 0.68 = 0, aber 100.0 * 0,68 = 68.0 (real) ist, sowie 0 + 68.0 = 68 (integer).
Die Namensauflösung der SV kann man natürlich auch über ID_SYSTEM_VARIABLES machen...
Roland
Ziel verfehlt!
Ein Einzeiler war gefordert, nicht ein Sechszeiler!
Als Script-Rookie würde ich da vorschlagen:
dom.GetObject("Ziel_SV").State(0 + (100.0 * dom.GetObject("DG_SZ_VP")));
Dabei ist berücksichtigt, dass nach CCU-Logik 100 * 0.68 = 0, aber 100.0 * 0,68 = 68.0 (real) ist, sowie 0 + 68.0 = 68 (integer).
Die Namensauflösung der SV kann man natürlich auch über ID_SYSTEM_VARIABLES machen...
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: SysVar *100 per Script
Und dir hat deine Glaskugel auch noch verraten, was er damit machen will.
Alchy
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.
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: SysVar *100 per Script
Alchy, verstehst du gar keinen Spaß?
Roland
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
-
- Beiträge: 3733
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 120 Mal
Re: SysVar *100 per Script
Hallo
ich habe meine Frage anscheinend nicht genau genug formuliert.
Ich möchte den Inhalt der SysVar mit 100 multiplizieren und wieder zurück in die SysVar schreiben.
Hintergrund ... ich lesen den Ventil Level der Heizungsthermostate aus und stelle die Öffnung 0...100% in einer SysVar dar, die mit dem Wandthermostat verknüpft ist. Per Web Ui Programm (ohne Script)
In 2 Räumen habe ich jetzt eine HMIP Gruppe. Dort ist der Wert von "Level" im Kanal 1 den ich bekomme nicht 0...100 sondern 0...1
Bei den HM Gruppen ist der Wert dagegen 0...100
HM- HMIP-
ich habe meine Frage anscheinend nicht genau genug formuliert.
Ich möchte den Inhalt der SysVar mit 100 multiplizieren und wieder zurück in die SysVar schreiben.
Hintergrund ... ich lesen den Ventil Level der Heizungsthermostate aus und stelle die Öffnung 0...100% in einer SysVar dar, die mit dem Wandthermostat verknüpft ist. Per Web Ui Programm (ohne Script)
In 2 Räumen habe ich jetzt eine HMIP Gruppe. Dort ist der Wert von "Level" im Kanal 1 den ich bekomme nicht 0...100 sondern 0...1
Bei den HM Gruppen ist der Wert dagegen 0...100
HM- HMIP-
- Baxxy
- Beiträge: 10826
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 607 Mal
- Danksagung erhalten: 2225 Mal
Re: SysVar *100 per Script
Code: Alles auswählen
dom.GetObject (ID_SYSTEM_VARIABLES).Get ("DG_SZ_VP").State(dom.GetObject (ID_SYSTEM_VARIABLES).Get ("DG_SZ_VP").Value()*100)
Code: Alles auswählen
dom.GetObject (ID_SYSTEM_VARIABLES).Get ("DG_SZ_VP").State(dom.GetObject("$src$").Value()*100);
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: SysVar *100 per Script
Hallo!
Bei Integer bitte meine Gedanken berücksichtigen.
Roland
Soll der neue Wert vom Typ Real oder Integer sein?
Bei Integer bitte meine Gedanken berücksichtigen.
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
-
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: SysVar *100 per Script
In die selbe SV? Dann musst du aber noch den Maximalwert ändern. Sonst kannst du nur 0.01 mit 100 multiplizieren, um nicht größer als 1 zu werden.
Und es handelt sich wirklich um einen falschen Wert in der SV und nicht um den Einheiten-Bug in der WebUI?
Gib deiner SV mal die Einheit "%"...
-
- Beiträge: 9677
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1626 Mal
Re: SysVar *100 per Script
Eben. Ich wäre da auch sehr vorsichtig % und 1/100 in einer Variablen Wechselweise zu speichern.
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 +++
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 +++