Deine RM kam eher. Hier der Shot:
Analoger Eingang-Skript-Systemvariable
Moderator: Co-Administratoren
-
- 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: Analoger Eingang-Skript-Systemvariable
Dir ist schon klar, wenn du eine real-Zahl mit * 1 (integer) multiplizierst, dann wird auch das Ergebnis in integer gewandelt, was du sicher nicht willst.
Unabhängig vom Sinn der Zeile müßtest du mit 1.0 (real) multiplizieren/dividieren.
Unabhängig vom Sinn der Zeile müßtest du mit 1.0 (real) multiplizieren/dividieren.
- 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: Analoger Eingang-Skript-Systemvariable
Du musst das Script ausführen, nicht überprüfen.
(Programme&Zentralenverknüpfungen (Programmübersicht) Button unten "Script testen")
Ohne zu wissen was das für ein Faktor ist kann ich dir das nicht abnehmen.
Was ich insgesamt herausgelesen habe ist, das du den Wert aus dem Jack in eine SysVar schreiben willst.
1:1 ginge das mit einem Einzeiler, wenn Berechnungen dazu kommen wird es etwas mehr.
Hier noch eine "Debug-Version" des Scriptes, wie gesagt ausführen im "Script testen".
(Programme&Zentralenverknüpfungen (Programmübersicht) Button unten "Script testen")
Ohne zu wissen was das für ein Faktor ist kann ich dir das nicht abnehmen.
Was ich insgesamt herausgelesen habe ist, das du den Wert aus dem Jack in eine SysVar schreiben willst.
1:1 ginge das mit einem Einzeiler, wenn Berechnungen dazu kommen wird es etwas mehr.
Hier noch eine "Debug-Version" des Scriptes, wie gesagt ausführen im "Script testen".
Code: Alles auswählen
object jack_dp = dom.GetObject("CCU-Jack.JACK000005:3.VOLTAGE");
string Faktor_SV_Name = "Faktor1";
string Speicher_SV_Name = "WWTempIst";
if (jack_dp) {
WriteLine("Jack-Datenpunkt gefunden...");
real Wert1 = jack_dp.Value();
}
else {
WriteLine("Jack-Datenpunkt nicht gefunden... Exit"); quit; }
WriteLine("Wert1 = "# Wert1);
object faktor_sv = dom.GetObject (ID_SYSTEM_VARIABLES).Get (Faktor_SV_Name);
if (faktor_sv) {
WriteLine("Faktor-Systemvariable gefunden...");
real faktor1 = faktor_sv.Value() * 1;
WriteLine("Faktor1 = "# faktor1);
real Ausgabe1 = (Wert1 * faktor1) / 1;
WriteLine("Ausgabe1 = "# Ausgabe1);
}
else { WriteLine("Faktor-Systemvariable nicht gefunden... Exit"); quit; }
object speicher_sv = dom.GetObject (ID_SYSTEM_VARIABLES).Get (Speicher_SV_Name);
if (speicher_sv) { WriteLine("Speicher-Systemvariable gefunden...");
speicher_sv.State(Ausgabe1);
}
else { WriteLine("Speicher-Systemvariable nicht gefunden... Exit"); quit; }
Zuletzt geändert von Baxxy am 15.06.2023, 18:01, insgesamt 1-mal geändert.
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: 86
- Registriert: 24.03.2012, 11:40
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 2 Mal
Re: Analoger Eingang-Skript-Systemvariable
Danke für die Idee, habe ich gleich probiert. Leider auch erfolglos.
Dessen ungeachtet gehört in der Tat dieser Müll raus. Aber leider ist mein Wissen die seit mehr als 20Jahre vergangene alte diskrete Digitalelektronik. Und nun nach 30Jahren Selbständigkeit in einem völlig artfremden Beruf versuche ich als Rentner hier reinzukommen..... Dewegen meine leise Bitte an Baxxy von einem Analphabeten
-
- Beiträge: 86
- Registriert: 24.03.2012, 11:40
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 2 Mal
Re: Analoger Eingang-Skript-Systemvariable
Deine debug-Version bringt:
Jack-Datenpunkt gefunden...
Wert1 = 37.100000
Faktor-Systemvariable nicht gefunden... Exit
Der Test Deines Skript-Vorschlages bringt im Ausgabefenster "Wert1 = 37.100000".
Also liegt es an dieser sch.. nutzlosen Berechnung mit dem Faktor 1 dividiert mit 1... Nun kann ich mich morgen hinsetzen und versuchen, diesen Müll zu streichen oder Du kürzt das Elend ab. In der Hoffnung, dass ich dann das Forum mit derartig offensichtlichen Kleinigkeiten nicht weiter belästige
Grüße
Volker
- 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: Analoger Eingang-Skript-Systemvariable
Es liegt eher daran das es die Systemvariable "Faktor1" nicht gibt oder der Name nicht passt.
Das könntest du im Script korrigieren.
Ansonsten hier die reduzierte Version:
Wie gehabt im Script testen ausführen, dann kontrollieren ob in der SysVar was ankommt.
Das könntest du im Script korrigieren.
Ansonsten hier die reduzierte Version:
Code: Alles auswählen
object jack_dp = dom.GetObject("CCU-Jack.JACK000005:3.VOLTAGE");
string Speicher_SV_Name = "WWTempIst";
dom.GetObject (ID_SYSTEM_VARIABLES).Get (Speicher_SV_Name).State(jack_dp.Value());
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: 86
- Registriert: 24.03.2012, 11:40
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 2 Mal
Re: Analoger Eingang-Skript-Systemvariable
Hallo Baxxy,
hab den Fehler nun beseitigt, indem ich die Schreibweise des Faktors verändert habe (was Faktor(leer)1...)
Thema ist eigentlich abgehakt. Dabei evtl. gelernt mit "writeline" und mit Skripttest umzugehen....
Werde nun mal versuchen, die Berechnung rauszunehmen. Dürfte ich mich bei Dir per PN melden, wenn ich es nicht schaffe?
Recht herzlichen Dank
Volker
-
- Beiträge: 337
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 25 Mal
Re: Analoger Eingang-Skript-Systemvariable
Hi
Wenn du nen real mit nachfolgendem interger multiplizierst dann ist das Ergebnis immer real und nie integer.
Doku lesen!
Thomas
Dir ist schon klar das das nonsens ist wo du da schreibst
Wenn du nen real mit nachfolgendem interger multiplizierst dann ist das Ergebnis immer real und nie integer.
Doku lesen!
Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
-
- Beiträge: 337
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 25 Mal
Re: Analoger Eingang-Skript-Systemvariable
Hi
Thomas
"in deutsch" eher nicht, aber vielleicht "auf Deutsch".
Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.