Mhhh, gute Frage. Weiß nicht, ob es die Standardaktion schon immer gab? Sonst ist mein Action Script ein Legacy. Habe gerade auf Standardaktion umgestellt und geht genauso.
richimaint
Mhhh, gute Frage. Weiß nicht, ob es die Standardaktion schon immer gab? Sonst ist mein Action Script ein Legacy. Habe gerade auf Standardaktion umgestellt und geht genauso.
richimaint
Dann kann es weg
paresy
Hi,
wäre es möglich zusätzlich zum Identischen auch noch die Position mitzugeben?
Mir ist klar, dass diese im Baum von Hand dann abgeändert werden können, aber grad bei Geräten mit einer großen Anzahl an Variablen, wäre es gut diese über die Position „gruppieren“ zu können.
Viele Grüße
Philipp
Die Position wird über die Reihenfolge der Adressen bestimmt. Und die Reihenfolge kannst du beliebig verschieben.
Allerdings werden die Positionen nur bei der Anlage der Variablen gesetzt, später nicht mehr.
Gerade, wenn man neue Adressen hinzu erfasst, möchte man die aber passend einsortieren. Hier im Fenster kann man es ja. Aber es fehlt noch eine Möglichkeit, die Variablen im Objektbaum neu zu sortieren. So eine Funktion („Variablen neu positionieren“) fände ich sehr hilfreich. Momentan mache ich es über ein Skript. Wäre aber bestimmt auch als Funktion in der Instanz interessant.
Ich wollte das noch mal in Erinnerung bringen.
Hier ist mir noch ein Schreibfehler aufgefallen.
Oh, danke - das ist irgendwie in Vergessenheit geraden. Jetzt korrigiert zum nächsten Update.
paresy
Ich hanb nun mal ein Gerät umgestellt. Dabei sind mir einige Sachen aufgefallen.
1.) Einige Register wurden erst nach dem Neustart von IPS aktuallisiert.
2.) Eine doppelt angelegte Adresse wird einfach nicht angelegt.
paresy
Brauch ich nicht, bei längeren Listen könnte es halt mal passieren, das ich was anlegen möchte, was es schon gibt. Ein Hinweis wäre da hilfreich.
Folgender Fehler tritt bei mir immer wieder mal sporatisch auf:
An diesem Modbus befinden sich 2 Teilnehmer (Growatt Wechselrichter).
Soweit ich es sehe, betrifft es immer den Wechslrichter mit der Adresse 2.
Gruß Schuggi
EDIT: Ich hab den Fehler gefunden, falsche Konfiguration des Registers.
Die neue Instanz Modbusgeräte finde ich sehr gut und erleichtert doch erheblich die Verwaltung von Modbusadressen.
Leider kommen ich nicht so klar was man bei Virtuellen Adressen im Bereich Aktion (lesen/schreiben) eintragen muss.
Mein konkretes Problem:
Ich bekomme von meinem Wechselrichter die aktuelle Wirkleistung übermittelt. Wenn dieser am Abend in den Ruhemodus geht, wird leider anstatt des aktuellen Wertes „0“ eine Zahl, die dem Wert NaN entspricht, übermittelt. Dadurch entstehen Sprünge im Archiv die man nicht möchte und jeden Tag per Hand den Wert zu löschen ist auch keine Lösung.
Früher habe ich mir eine Hilfsvariable für das Archiv angelegt.
So ähnlich stelle ich mir das jetzt mit den Virtuellen Adressen vor.
Konkret:
Modbus Adresse: Wirkleistung
Virtuelle Adresse: Wirkleistung_Archiv
Die Variable Wirkleitung_Archiv soll den Wert von Wirkleistung übernehmen, wenn dieser größer/gleich „0“ und kleiner/gleich „100000“.
Kann mir jemand sagen was da als Script in die beider Felder rein muss.
Vielen Dank
Viele Grüße René
Es gibt eine Mini-Doku
Hilft dir das schon weiter?
Hallo,
vielen Dank hat mir weitergeholfen. Das man den Ident verwenden muss hatte ich nicht herausgefunden.
Ich habe mir jetzt Virtuelle Adressen angelegt, um für das Archiv nicht gültige Werte herauszufiltern.
Hierbei habe ich bei einer Adresse folgende Fehlermeldung … aber auch nur bei dieser.
Meine Konfiguration sieht wie folgt aus:
Bei „Wirkleistung“ gibt es diese Meldung bei allen anderen nicht, obwohl das Lesescript bei allen von der Art gleich ist.
Wo liegt mein Fehler?
VG René
Du gibst nur einen Wert zurück bei < 100000. Anderfalls null. Das mag die Instanz nicht. Du musst immer einen gültigen Wert per „return“ zurückgeben.
paresy
Das ist etwas ungünstig, wenn man Werte wegfiltern möchte. Oder geht auch return Null?
Du kannst ja den Wert der variable auslesen und zurückgeben.
paresy
Nix zurückgeben ist null, ebenso wie Return null.
Null ist keine gültige Zahl, somit hast du damit auch einen Fehler.
Die Zahl 0 wäre gültig. Oder halt den aktuellen Wert
Michael
Das ginge natürlich. Einfacher und intuitiver wäre es, wenn man beim Verwerfen einer Zahl einfach nichts zurückgeben könnte.
So hat es wohl auch René zunächst erwartet.
Würde denn return $VALUES[‚Wirkleistung_W_Archiv‘] auch funktionieren?
Ok. Hat funktioniert. Es wird immer nur die erste Variable ausgegeben bei der der Fehler auftritt. Bei allen nachfolgenden gibt es keine Meldung mehr. Deshalb hatte ich auch nur einen Fehler … bei der ersten in der Liste.
Ganz trivial ist das aber nicht
VG René
Und aktualisiert auch die Variable, obwohl es garkeinen neuen Wert gibt. Hier bewusst nichts zurück zu geben, damit eben auch das aktualisiert Feld stehen bleibt, fände ich für weitere Verarbeitung deutlich passender.