Einfaches umrechnen von Wh auf KW
Moderator: Co-Administratoren
- Baxxy
- Beiträge: 10982
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 624 Mal
- Danksagung erhalten: 2271 Mal
Re: Einfaches umrechnen von Wh auf KW
Bist du sicher mit "x = x/1000; ! ergibt eine Ganzzahl als Ergebnis" ?Matsch hat geschrieben: ↑08.12.2023, 11:45Jedenfalls, wenn x eine real-Zahl und kein String ist.Code: Alles auswählen
x = x/1000; ! ergibt eine Ganzzahl als Ergebnis x = x/1000.0; ! ergibt eine Gleitkommazahl als Ergebnis
Test:
Code: Alles auswählen
real x = 1234.567;
WriteLine(x);
WriteLine(x.VarType());
x = x/1000;
WriteLine(x);
WriteLine(x.VarType());
Code: Alles auswählen
1234.567000
3
1.234567
3
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
-
- Beiträge: 5538
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 120 Mal
- Danksagung erhalten: 759 Mal
Re: Einfaches umrechnen von Wh auf KW
Dann war's genau andersrum? Wenn x eine integer ist?
Jedenfalls bin ich schon wiederholt über diese implizite Typkonvertierung gestolpert, so dass ich immer eine real-Konstante verwende, damit das nicht passiert.
Jedenfalls bin ich schon wiederholt über diese implizite Typkonvertierung gestolpert, so dass ich immer eine real-Konstante verwende, damit das nicht passiert.
- Roland M.
- Beiträge: 9858
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 255 Mal
- Danksagung erhalten: 1406 Mal
Re: Einfaches umrechnen von Wh auf KW
Genau!
integer x = 1000;
x = x / 1000.0;
x bleibt immer noch integer.
Und der ultimative Schrecken aller Programmierer, in der HM-Unlogik ganz easy:
x = 1.0 + "Hello world" / 0;
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: 3655
- Registriert: 14.07.2019, 20:49
- System: CCU
- Hat sich bedankt: 853 Mal
- Danksagung erhalten: 552 Mal
Re: Einfaches umrechnen von Wh auf KW
Ist das so ähnlich wie Pi x Daumen im Quadrat / Fensterkreuz? SNCR
-
- Beiträge: 8
- Registriert: 07.12.2023, 13:35
- System: CCU und Access Point
- Hat sich bedankt: 2 Mal
Re: Einfaches umrechnen von Wh auf KW
Danke euch dreien für die Hilfe. ich möchte einfach, dass die Zahl 457123 (Wh) so dargestellt wird 457.123 (kWh).Roland M. hat geschrieben: ↑08.12.2023, 12:08Mit ein bisschen guten Willen und HM-Unlogik eine Realzahl!
Code: Alles auswählen
string x = "1000"; x = 0.0 + x; x = x / 1000.0; WriteLine(x); WriteLine(x.Type());
Roland
Habe es jetzt wie Roland gezeigt hat geschieben. Jetzt hab ich nur zu viele Nachkommastellen 457.123000 . Kann man da noch was machen?
Danke im Voraus und Sorry. Bis auf ein bißchen Python und arduinobastelei ist bei mir nicht mehr viel Programmierbackground vorhanden.
-
- Beiträge: 5538
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 120 Mal
- Danksagung erhalten: 759 Mal
Re: Einfaches umrechnen von Wh auf KW
Mit deinem Anfangscode:
Den Rest wegen der nachstehenden Nullen verstehe ich nicht, das ist ja keine Frage des Zahlenformats, sondern der formatierten Ausgabe. WriteLine ist eine Testausgabe. Wie wolltest du denn den Wert zur endgültigen Anzeige bringen?
Code: Alles auswählen
real P2 = (v.StrValueByIndex(",",31)).ToFloat();
P2 = P2 /1000.0;
WriteLine("Stromverbrauch Heizung:" # P2);
Den Rest wegen der nachstehenden Nullen verstehe ich nicht, das ist ja keine Frage des Zahlenformats, sondern der formatierten Ausgabe. WriteLine ist eine Testausgabe. Wie wolltest du denn den Wert zur endgültigen Anzeige bringen?
-
- Beiträge: 6823
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 499 Mal
Re: Einfaches umrechnen von Wh auf KW
Wenn Du mit der Darstellung die Anzeige in NEO selber meinst, dann ist es an sich auch zumindest einfacher, das gleich mit Javascript zu machen oder sogar gleich die Daten komplett mit Javascript abzurufen und das dann in eine Variable des NEO Servers der HmIP-CCU3 abzulegen.
Ein Beispielscript zur Darstellung von Trennzeichen findest Du unter Trennzeichen in NEO darstellen.
In so einem Fall brauchst Du nämlich keine Umwege und zusätzlich CUxD und musst Dich auch nicht mit der Homematic Skriptsprache auseinander setzen, die deutlich weniger ermöglicht als Javascript.
Zuletzt geändert von Fonzo am 08.12.2023, 14:17, insgesamt 1-mal geändert.
-
- Beiträge: 9771
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 707 Mal
- Danksagung erhalten: 1647 Mal
Re: Einfaches umrechnen von Wh auf KW
Wieder in einen string umwandeln, mit 2 Nachkommastellen.
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 +++
- Baxxy
- Beiträge: 10982
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 624 Mal
- Danksagung erhalten: 2271 Mal
Re: Einfaches umrechnen von Wh auf KW
Wenn die Werte in SysVars Typ: Zahl landen sind die Nachkommastellen irrelevant.
Die WebUI selbst zeigt i.d.R bei solchen SysVars nur 2 Nachkommastellen an, auch wenn es intern mehr gibt.
Die WebUI selbst zeigt i.d.R bei solchen SysVars nur 2 Nachkommastellen an, auch wenn es intern mehr gibt.
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