Zitat von UB99
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Erster Drittentwickler-Logikbaustein für den Gira L1 und X1: Textformatierer
Einklappen
Dieser Beitrag wurde beantwortet.
X
X
-
War ein Typo, ist in der Logik schon korrekt gewesen, aber sehr aufmerksam von Dir, hab es grad geändert.
Ich hatte auch die Formel gekürzt auf nur eine Bedingung und diese in der Simulation ausgelöst, aber es kam hinten nichts raus.
Edit:
Fehler gefunden: Und Asche auf mein Haupt, denn ich glaube
hyman
hatte mich darauf schonmal hingewiesen in einem anderen Zusammenhang.
=> Erst wenn ALLE Variablen einen Integer-Wert haben funktioniert die gesamte Formel.
Ich habe in einer Formel mehrere Fenster die ich in dieser einen Formel abprüfe, eine einzige "Zeile" unbelegt und es bekommt kein Ausgang einen Wert.
Lösung: Andere Variablen vorgelegen, dann wird zwar falscher Status an manchen Fenstern angezeigt nach Neustart, aber sobald ein Fenster einmal geöffnet wurde sind dessen Statusangaben dann korrekt.Angehängte DateienZuletzt geändert von cybersmart; 20.04.2021, 20:02.Beste Grüße,
Uwe
- Likes 1
Kommentar
-
Zitat von UB99 Beitrag anzeigendann wird zwar falscher Status an manchen Fenstern angezeigt nach Neustart, aber sobald ein Fenster einmal geöffnet wurde sind dessen Statusangaben dann korrekt
Kommentar
-
Tja, und ich sollte mich nicht auf die Simulation verlassen :-( In der Simulation hat dann alles funktioniert. Ich habe nun für jedes Fenster eine eigene Formel verwendet und nicht alle Fenster in eine Formel gepackt um diese „Abhängigkeit“ zu lösen. Leseflag ist für alle KO gesetzt. In der ETS sehe ich im Monitor, dass die Werte vom Fenster kommen, auch wenn ich das Fenster betätige alles gut.
Ich schreibe das Ergebnis dann in eine Textvariable und diese ist mit einer Kachel zur Statusanzeige verknüpft.
Das hatte alles funktioniert mit GPA 4.3 und älterer FW und älterem Logikbaustein.
Um Mitternacht gestern hab ich dann aufgegeben.
Die Kachel ändert den Text nicht wenn das Fenster betätigt wird.
Inzwischen glaube ich an einen Bug im Gira Teil, nicht unbedingt Logikbaustein.
Werte sind ja da auf dem Bus. Berechnung der „Textausgabe“ in der Simulation klappt. Aber Live geht es nicht .... Habe dann noch mit Datentyp 16xxx rumgespielt bin aber nicht weiter gekommen :-(Zuletzt geändert von cybersmart; 13.05.2021, 09:10.Beste Grüße,
Uwe
Kommentar
-
Danke für den Link, wusste nicht, dass man das da direkt sehen kann wie der Zustand ist. Muss ich heute gleich testen.
Edit:
Erster Blick darauf zeigt, dass die Zustände die hier für die Addition ausgegeben werden je Summand True, also "1" sind aber das nicht dem Zustand des Fensters und auch nicht den Daten auf dem Bus entspricht (auf dem BusEingang 1.Summand Wahr, 2. Summand False).
D.h. der Fehler liegt bereits im Bereich der Addition, also vor Deinem Baustein. Da kommt immer am Ende "2" raus was "geöffnet" entspricht, egal was ich am Fenster mache.
Die jeweils gesendete "1" entstammt der Vorbelegung mit "1", also hat offenbar nach Neustart das "Lesen" keine Wirkung. aber auch wenn ich aktiv das Fenster öffne ändert sich nichts am Zustand, obwohl auf dem Bus die Telegramm zu sehen sind.
Das war schonmal ein ganz wesentlicher Tipp, damit ist Dein Baustein aus der Fehlerkette raus.
Edit2:
Also wenn ich Fenster öffne/schliesse kommen auf dem Bus die Telegramme, aber auf der Gira Logikseite sehe ich keinerlei Aktualisierung an den Bausteinen. Kann es sein, dass der Gira trotz korrekt gesetztem Eingangsbaustein auf dem Eingang die Telegramme nicht mitbekommt? In der GA ist nur der jeweilige Fensterkontakt, auf dem Bus landen die Infos ja, aber der Eingangsbaustein in der Logik scheint diese garnicht zu bekommen und an den Baustein zur Addition weiterzuleiten... ?
Anbei Screenshot zur Logik mit GA des Fensterstatus. Dazu Screenshot Gira Logik-Zustand, alles auf "null", also keine Werte. auf dem Bus sind aber die Werte.
Bin mit meinem Latein grad am Ende.Zuletzt geändert von cybersmart; 21.04.2021, 11:51.Beste Grüße,
Uwe
Kommentar
-
Vorschlag, um den Fehler einzugrenzen:- In der ETS den Gruppenmonitor starten
- mit dem GPA oder Weboberfläche für den X1 einen Neustart veranlassen, beispielsweise durch Projektdownload
- Im Gruppenmonitor kommen nach dem X1 Hochlauf vom X1 GroupValueRead Telegramme auf die GAs der Eingangsbausteine.
Bitte schauen, welche GroupValueResponse Telegramme als Antwort zu sehen sind.
Ich habe jetzt nicht alles gelesen: Hast Du schon im Datenpunktmonitor geschaut - im GPA bei den Datenpunkten ein unscheinbarer Knopf - der für alle Datenpunkte die Live Werte anzeigt?
Kommentar
-
So, kurzes Update. Offenbar hatte sich da wirklich was im X1 verabschiedet. Am Ende konnte ich in der App auf dem SmartPhone auch nichts mehr steuern, alles war "tot".
Habe Werksreset durchgeführt, hatte aber dann Probleme, dass er sich nicht mit phys. Adresse programmieren lies ...
In der Schleife beim Warten auf Programmierknopf hing er immer fest, trotz gedrücktem Programmierknopf.
Aber das hat schlussendlich dann doch noch geklappt nach einem FW Downgrade.
Jetzt ist er gerade wieder auf aktueller FW mit dem Projekt geladen und ich kann schauen was das Ergebnis ist und ob es nun wieder funktioniert. Hab schon geschwitzt, dass der X1 im Eimer ist.
Trotzdem keine Besserung, in der App geht auch nichts mehr. Älteres Projekt importiert, gleiches Problem. Also weiter suchenZuletzt geändert von cybersmart; 13.05.2021, 09:12.Beste Grüße,
Uwe
Kommentar
-
Zitat von UB99 Beitrag anzeigenhat schlussendlich dann doch noch geklappt nach einem FW Downgrade- Hochrüsten der X1 Firmware "erzwingt" Installation der passenden neuen GPA Software: Gab es vom GPA eine Warnung in die Richtung?
Kommentar
-
Danke Paul,
die Versionen passen zusammen, bin nur eine runter gegangen. Es sieht so aus als hätte der X1 ein Problem mit seiner KNX Schnittstelle.
Wenn ich ihn als Interface für ETS verwende tröpfeln im Monitor Telegramme nur rein, wenn ich meinen ISE als Interface nehme kommen normale Telegrammzahlen.
Auch wenn ich den X1 als Interface verwende und auf Gruppenadresse Schreibbefehle absende kommen die zum teil nicht auf den Bus.
Ich mache dazu aber jetzt einen eigenen Beitrag auf, da wir vom Thema hier nun massiv abweichen und offenbar mein X1 hardwareseitig die Ursache für die komischen Effekte ist. Obwohl er zu laufen scheint. Im Log sehe ich aber, dass er evtl. mit KNX Probleme hat.
Im dmesg.txt steht z.B.
Code:[ 44.412989] Peer busy [ 44.909336] knxspi: BUSY timeout [ 44.979355] knxspi: Timeout waiting for ack, ack_length=16 [ 45.049369] knxspi: Timeout waiting for ack, ack_length=16 [ 45.119351] knxspi: Timeout waiting for ack, ack_length=16 [ 45.189371] knxspi: Timeout waiting for ack, ack_length=16 [ 45.259377] knxspi: Timeout waiting for ack, ack_length=16 [ 45.329369] knxspi: Timeout waiting for ack, ack_length=16 [ 45.409326] knxspi: Timeout waiting for ack, ack_length=16 [ 45.479324] knxspi: Timeout waiting for ack, ack_length=16 [ 45.549340] knxspi: Timeout waiting for ack, ack_length=16 [ 45.619332] knxspi: Timeout waiting for ack, ack_length=16
Evtl ist es aber auch ein anderes Problem auf dem Bus ????
Beste Grüße,
Uwe
Kommentar
-
So, der Gira X1 ist wieder am Bus, Logiken laufen und haben auch das Bausteinupdate wohl überlebt (letzte Tests stehen noch aus). Keine Ahnung was da los war. Auf jeden Fall habe ich jetzt eine andere 24V Spannungsversorgung gewählt.
hyman Was nicht ging ist, dass ich die Logikbausteine von Dir einfach aktualisieren konnte. Gira zeigt mir im Webinterface die alten Versionen an. Vor meinen Problemen konnte ich die neuen Versionen einfach als Logikbausteine hinzufügen und das wurde aktualisiert. Da bringt er mir jetzt ne Meldung er hätte schon diese Version - im Widerspruch zum Webinterface .... mal neu starten vielleicht ...Beste Grüße,
Uwe
Kommentar
-
Textformatierer und die Möglichkeit per Referenz einen vorher schon definierten und benutzten Wert wiederholt zu verwenden und unterschiedliche Ausgaben zu generieren.
Ich versuche mich an einer Möglichkeit aus einem Baustein "Textformatierer" 2 unterschiedliche Texte zu generieren und verzweifel gerade. Der Baustein verhält sich eigenartig.
In der Basiskonfiguration funktioniert es einwandfrei:
Screenshot (31).png
Die Formel 1 vom Textgenerator ist: {Risiko:N|..<25=🟢|25..49=🟡|50..=🔴} {Risiko:N0}% | {Feuchte:N0}% | {CO2:N0}ppm | {Behaglichkeit:B|Behaglich|Unbehaglich}
Nun möchte ich einen 2. Ausgang anlegen und habe einfach mal als Referenz das Risiko eingefügt in Formel 2: {Risiko:N0}
und in Formel 3 die Temperatur als neuen Eingang: {Temp:N0}
Nun verhält sich der Baustein eigenartig, da nun die Temperatur nicht weitergegeben wird und auch nicht die Feuchte:
Screenshot (34).png
Hat jemand eine Idee, was ich falsch mache? Ebenso hatte ich das Problem, dass das Referenzieren von vorher benutzten Variablen teilweise nicht funktionierte. In diesem Fall funktioniert es nun beim Wert Risiko einwandfrei. Nach einem weiteren Versuch mit dem eigentlich gewünschten Logikblatt wird Feuchte und Temperatur nicht weitergereicht:
Screenshot (35).png
Formatvorlage 1: {Risiko:N|..<25=🟢|25..49=🟡|50..=🔴} {Risiko:N0}% | {Feuchte:N0}% | {CO2:N0}ppm | {Behaglichkeit:B|Behaglich|Unbehaglich}
Formatvorlage 2: {Risiko:N0}
Formatvorlage 3: {Temperatur:F1}°C | {Feuchte}%
Ich weiss mir einfach nicht mehr zu helfen.
Kommentar
-
Laut Deinen Screenshots haben zwei Eingänge des Textformatierers (Temperatur und Feuchte) keine Werte (0 hellgrau hinterlegt statt dunkelgrau wie bei den angekommenen Werten). Du hast aber an den entsprechenden Eingangsbausteinen offensichtlich welche eingegeben. Ich hatte das auch schon und halte das für einen Bug der Simulation.
Abhilfe: Nochmal einen Wert eingeben. Dadurch sollte der entsprechende Eingang des Textformatierers den Wert erhalten (an der Hintergrundfarbe erkennbar) und richtig funktionieren.Zuletzt geändert von hyman; 04.08.2021, 06:39.
Kommentar
-
Hallo zusammen, ich bin leider ganz weit weg von dem was ihr hier macht. Finde es aber sehr interessant und habe mich schon dran probiert. Wetterdaten abrufen und mehrere Werte auf einen Ausgang weiterleiten funktioniert schon. Programmierungen wie sie hier diskutiert werden ist für mich absolutes Neuland. Wollte einfach nur eine Temperaturvorhersage neben der aktuellen Temp. mit einem Pfeil für die Tendenz versehen. Würde mich gerne näher damit befassen aber finde noch nicht einmal den Namen der Programmierung um zu Googlen. Vielleicht kann mir hier einer etwas auf die Sprünge helfen.
Besten Dank
Kommentar
Kommentar