Skript zur Anzeige der Windrichtung gesucht

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Xel66
Beiträge: 14180
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 589 Mal
Danksagung erhalten: 1502 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Xel66 » 13.04.2019, 20:34

Von welchen Typ ist die Systemvariable "Wetter_Windrichtung" und wie übergibst Du die Systemvariable aus dem Script raus? Dein Originalscript wäre hilfreich.

dom.GetObject('Wetter_Windrichtung').State(sWindrose).ToString; (Wenn Deine Ausgabevariable "Wetter_Windrichtung" heißt). Und das Script solltest Du bei Aktualisierung der Quellvariablen triggern.

Gruß Xel66
Zuletzt geändert von Xel66 am 13.04.2019, 20:38, insgesamt 2-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Gezi
Beiträge: 138
Registriert: 05.09.2010, 21:37
Hat sich bedankt: 1 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Gezi » 13.04.2019, 20:36

Mein Originalskript ist

Code: Alles auswählen

real grad = dom.GetObject("Wetter_Winddirection").Value();
var angle= (grad/22.5).Round ().ToInteger () ;  ;
string Wetter_Windrichtung= "N,NNO,NO,ONO,O,OSO,SO,SSS,S,SSW,SW,WSW,W,WNW,NW,NNW,N".StrValueByIndex (",",angle);
WriteLine (Wetter_Windrichtung);   
Aber ich sehe gerade, das lief vor einer halben Stunde das letzte mal durch - also noch falsch! :|
Ich lösche das Ganze nochmal und lege es nochmal frisch an.

Läuft immernoch nicht an...

Xel66
Beiträge: 14180
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 589 Mal
Danksagung erhalten: 1502 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Xel66 » 13.04.2019, 20:39

Die Ausgabe ist falsch. Siehe eins höher.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Gezi
Beiträge: 138
Registriert: 05.09.2010, 21:37
Hat sich bedankt: 1 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Gezi » 13.04.2019, 20:45

Ich steh hier total auf dem Schlauch! :roll:
Wo kommt die Zeile

Code: Alles auswählen

dom.GetObject('Wetter_Windrichtung').State(sWindrose).ToString;
denn jetzt (abgeändert) genau hin?
Wetter_Winddirection ist die Ausgabe in Zahl (also Grad) und Wetter_Windrichtung soll die Ausgabe in den Wert sein.
Wenn ich deine Zeile auf Fehler prüfen lasse, spuckt er mir wiederum einen Fehler aus:

Code: Alles auswählen

Error 1 at row 1 col 98 near ^  
Parse following code failed:
dom.GetObject('Wetter_Windrichtung').State(sWindrose).ToString;  

Xel66
Beiträge: 14180
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 589 Mal
Danksagung erhalten: 1502 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Xel66 » 13.04.2019, 21:05

Gezi hat geschrieben:
13.04.2019, 20:45
denn jetzt (abgeändert) genau hin?
An die Stelle der Bildschirmausgabe "WriteLine..." Mehr macht WriteLine nicht. Eben eine Zeile schreiben. Da Du in die Ausgabe Text schreiben willst, ist natürlich der Text-Typ für diese Systemvariable richtig.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Gezi
Beiträge: 138
Registriert: 05.09.2010, 21:37
Hat sich bedankt: 1 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Gezi » 13.04.2019, 21:29

Ich habe nochmal alles mögliche probiert:
Schreibe ich meine ursprüngliche Skriptversion zwecks Fehlerprüfung in den Editor, meldet er "Kein Fehler" und beim Test kommt die gewünschte Himmelsrichtung an. Wird aber nicht in die Variable geschrieben.
Tausche ich deine Zeile gegen die Write line aus, erscheint die Fehlermeldung

Code: Alles auswählen

Error 1 at row 4 col 98 near ^
Parse following code failed:
real grad = dom.GetObject("Wetter_Winddirection").Value();
var angle= (grad/22.5).Round ().ToInteger () ;  ;
string sWindrose= "N,NNO,NO,ONO,O,OSO,SO,SSS,S,SSW,SW,WSW,W,WNW,NW,NNW,N".StrValueByIndex (",",angle);
dom.GetObject('Wetter_Windrichtung').State(sWindrose).ToString;
bzw:

Code: Alles auswählen

Error 1 at row 4 col 114 near ^;);    
Parse following code failed:
real grad = dom.GetObject("Wetter_Winddirection").Value();
var angle= (grad/22.5).Round ().ToInteger () ;  ;
string sWindrose= "N,NNO,NO,ONO,O,OSO,SO,SSS,S,SSW,SW,WSW,W,WNW,NW,NNW,N".StrValueByIndex (",",angle);
WriteLine (dom.GetObject('Wetter_Windrichtung').State(sWindrose).ToString;);    
und er macht gar nichts. :roll:

Hätte ich bloß in Informatik besser aufgepasst... :oops:

Benutzeravatar
Black
Beiträge: 5493
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1078 Mal
Kontaktdaten:

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Black » 13.04.2019, 21:38

mach das tostring da in der letzten zeile wech.. erstens gehörs da nicht hin und zweitens isses ohne klammern ein systaxfehler- und ausserdem ist der type dann eh schon string

und für mal spasseshalber bitte folgendes aus unter scripttesten:

real grad = dom.GetObject("Wetter_Winddirection").Value();
WriteLine (grad.Type () );

Wenn da nu string steht haste den grund warums net tut.

black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Gezi
Beiträge: 138
Registriert: 05.09.2010, 21:37
Hat sich bedankt: 1 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Gezi » 13.04.2019, 21:45

Hmmm...
zu1.: Es erscheint beim Test als Ausgabe "false", und
zu2.: beim angegebenen Test "kein Fehler"...

Benutzeravatar
Black
Beiträge: 5493
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1078 Mal
Kontaktdaten:

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Black » 13.04.2019, 21:48

was kommt dabei raus ?

Code: Alles auswählen

real grad = dom.GetObject (ID_SYSTEM_VARIABLES ).Get ("Wetter_Winddirection").State ();
WriteLine (grad.Type () );
Natürlich Script ausführen
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Gezi
Beiträge: 138
Registriert: 05.09.2010, 21:37
Hat sich bedankt: 1 Mal

Re: Skript zur Anzeige der Windrichtung gesucht

Beitrag von Gezi » 13.04.2019, 21:49

Da kommt "real" bei raus...

Antworten

Zurück zu „HomeMatic allgemein“