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
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Zitat von UB99 Beitrag anzeigen
    {b:I}
    Warum steht da b wo ich {a} erwartet hätte?

    Kommentar


      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 Dateien
      Zuletzt geändert von cybersmart; 20.04.2021, 20:02.
      Beste Grüße,

      Uwe

      Kommentar


        Zitat von UB99 Beitrag anzeigen
        dann wird zwar falscher Status an manchen Fenstern angezeigt nach Neustart, aber sobald ein Fenster einmal geöffnet wurde sind dessen Statusangaben dann korrekt
        schaue die KOs in der ETS an, die den Fensterstatus kennen/senden und prüfe, ob das L-Flag gesetzt ist. Der X1 sendet für jeden Logik-Eingang ein GroupValueRead Telegramm beim Neustart, um den Zustand zu lesen. Nur bei einem gesetzten Lese-Flag darf das KO mit GroupValueResponse antworten.

        Kommentar


          Hier stand veraltetes Zeug -- man soll den Thread zu Ende lesen, bevor man antwortet ...
          Zuletzt geändert von hyman; 21.04.2021, 05:23.

          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


              Was sagt denn die Seite https://<x1-ip-adresse>:4433/discovery/logic/ oder https://<x1-ip-adresse>/logic zu den Ein- und Ausgangszuständen der beteiligten Bausteine?

              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.
                Angehängte Dateien
                Zuletzt geändert von cybersmart; 21.04.2021, 11:51.
                Beste Grüße,

                Uwe

                Kommentar


                  Vorschlag, um den Fehler einzugrenzen:
                  1. In der ETS den Gruppenmonitor starten
                  2. mit dem GPA oder Weboberfläche für den X1 einen Neustart veranlassen, beispielsweise durch Projektdownload
                  3. 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.
                  Zwei mit unterschiedlichen Werten sind genau so tödlich wie gar keines.

                  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 suchen
                    Zuletzt geändert von cybersmart; 13.05.2021, 09:12.
                    Beste Grüße,

                    Uwe

                    Kommentar


                      Zitat von UB99 Beitrag anzeigen
                      hat schlussendlich dann doch noch geklappt nach einem FW Downgrade
                      Nach Firmware-Ändern muss immer die Version des GPA zur Firmware Version im X1 passen;
                      • 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

                                Lädt...
                                X