[Modul] Symcon Integrity Check

Erst mal Danke für das Modul !

Es wäre hilfreich, wenn auskommentierte Zeilen nicht reklamiert würden.
Im Script
//$kompstart=GetValueString(26929);
//$kompstop=GetValueString(50424);
liefert dann immer, dass Zeile xx Objekt 26929 und 50424 nicht existiert.
Was ja richtig ist, aber eben auskommentiert ist.

Verstehe ich das richtig, dass
//$kompstart=GetValueString(26929); /NO_ID_CHECK/
oder
GOeCharger_SetCurrentChargingWatt( 21276,11000,6 ); //Soll-Watt /NO_ID_CHECK/
keine Fehlermeldung liefern würde?
Das wäre vielleicht einfacher und sicherer, statt die ID’s in NoCheck aufzunehmen.

Ansonsten habe ich auch immer wieder das Thema mit Zahlen wie habre das beschreibt.
Aber ich kann damit leben.

Ja, stimme ich absolut zu. Aber Kommentare zu erkennen ist echt kompliziert, weil diese ja auch mehrzeilig sein können und andererseits eventuell nur Teile einer Zeile.
Hab mir da schon die Zähne dran ausgebissen.

Ja, so ist es, allerdings nur fast richtig - der Standard ist ja /*NO_ID_CHECK*/ (nicht /NO_ID_CHECK/).
Den String kann man in der Konfiguration beliebig einstellen, Hauptsache eindeutig.

Ich erhalte diese Instanzenmeldung:
referenziertes Objekt mit der ID 1 existiert nicht

image

Weis jemand, was das Objekt mit der ID 1 ist?
Ich kenne nur 5stellige Objekte…

oh, da prüfe ich vermutlich was nicht richtig ab.
du hast 6.3 im einsatz?
ab 6.3 ist die ID1 verwendet für NULL-Id (also nicht gesetzt) vorher war das 0
ich dachte zwar, ich hätte alles angepasst …
welche version vom Integritycheck (Konfig->Information)?

Ich habe diese Version aus dem Modul Store:
image

Hallo
Beim Translate gibt es eine Fehlermeldung
Im Script
$s = $this->Translate(‚ist fehlerhaft‘);

fuehrt zu Fehlermeldung :

Translate | unable to translate „ist fehlerhaft“

Hi,
was auch recht einfach ist wäre Konstanten, hier 11000, anders darzustellen also z.B. 110*100. Für mich einfache als /NO_IDCHECK/

Ralf

@mb-stenr
ist gefixed und im Modulstore/Beta eingereicht. Bitte Info, wenn es ok ist, damit ich das in Stable einreiche

@Dr.Niels
n.z.I: in einer Virtualisierungsinstanz wird eine nicht gesetzte ID (Wurzelverzeichnis für Mobile) als Referenz abgelegt. Weis nicht, ob das so gewollt ist, nehme aber eher an, das das noch nicht krrigirrt wurde.

@1007
ist gefixed (Modulstore/Beta)

danke, funktioniert…
die Fehlermeldung ist verschwunden…
vielen Dank

1 „Gefällt mir“

eine Frage zur Ausgabe des Moduls: kann man solche ungenutzten Skripte Bedenkenlos löschen?
grafik

naja, „Bedenkenlos“ vielleicht nicht, aber ich bin mir schon ziemlich sicher, das die nirgendwo referenziert werden.
Es gibt aber Lücken, an denen ich nicht vorbei komme: wenn die zB. von einer Instanz benutzt werden, aber der Modulentwickler diese Scripte nicht als Instanz-Referenz registriert (durch RegisterReference()) werden, weil der Integrity-Check genauso wenig wie die Kontext-Funktion (Referenzen anzeigen).

Von daher ist ein Blick in das Script und Quercheck nicht falsch. Nun ist es aber ja auch so, das gelöschte Scripte nicht weg sind, es gibt im in Script-Ordner ein Verzeichnis deleted, hier stehen die Skripte noch eine gewisse Zeit zur Verfügung.
Und wenn man ganz unsicher ist:
man kann die Skripte ja von den Meldungen ausnehmen (zu ignorierende Objekte /Verzeichnis). Und wenn man in dem Script am Anfang direkt zB ein Syntax-Fehler einbaut, würde es garantiert auffallen, wenn die doch mal aufgerufen werden.
Ach ja, es ist ja auch bekannt, wann das Skript das letzte Mal aufgerufen wurde.

Ein „IPS_Sleep(10000);“ in einem Script führt zu einer Falschinterpretation „…ein Objekt mit ID 10000 existiert nicht“.

Das ist keine Fehlinterpretation :wink: , du kannst es umgehen mit 10*1000 im Sleep.

Zahlen mit 5 Ziffern werden als ID betrachtet.

Aah, von hinten durch die Brust ins Auge.
Ich dachte auch Module werden weiterentwickelt…

Und dadurch sind 5 stellige Zahlen auf einmal keine mögliche ObjektID mehr? :face_with_peeking_eye:

Irgendwie muss ein sleep(10000) ja auch bestraft werden😇

Keine Ahnung was Du damit meinst. Ich bin Anwender und kein Entwickler. Wenn es keine Möglichkeit gibt einen Funktionsparameter zu unterscheiden, dann muss man wohl damit leben. Ich finde eine zusätzliche Rechenoperation unnötig nur um das Modul nutzen zu können.

Dann lass dir das hier gesagt sein:

Und er hat Recht :rofl:
10 Sekunden ein Script anhalten ist eine so richtig schlechte Idee.
Gibt mehrere, für Anwender, bessere Lösungen; z.b. den Ablaufplan.
Michael

Ich glaube wir kommen hier wohl ein wenig vom Thema ab. Fakt ist doch, dass es eine Fehlinterpretation ist. Der Fehlertext sagt es doch oder etwa nicht.