Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Position und Dimmwert umrechnen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    - √ - Position und Dimmwert umrechnen

    Hallo,

    Habe in EIB 2 verschiedene Datentypen, die aber das gleiche meinen:
    Es gibt den Bytewert als Position (Gira 0-255) und den Dimmwert bzw Position bei anderem Hersteller 0-100.

    Gibt es eine Möglichkeit dieses mit EIBMitteln umzurechnen?

    Oder mit MH?

    Hintergrund:
    ich nutze MH mit EIBRB (von RAK). Hier sind die Positionsangaben in %. Habe aber noch Wertgeber, die direkt auf das Positionsobjekt des Jalousieaktors gehen. Diese nutzen 0-255. Jetzt kann ich aber 0-255 schlecht visualisieren, da ich dort die % Objekte brauche.

    Wer kann mir helfen? Evtl. auch durch ein bischen code in rollerblinds, damit dieses genutzt werden kann.

    Gruss McTao

    #2
    Hab es nicht ausprobiert, aber mein erster Ansatz wäre 255=100%

    Also Prozent = (Gira/255) * 100, mit MH ja kein Problem.

    Kommentar


      #3
      Einfach Prozentwert mal 2,55

      Kommentar


        #4
        Zitat von Jockel Beitrag anzeigen
        Hab es nicht ausprobiert, aber mein erster Ansatz wäre 255=100%

        Also Prozent = (Gira/255) * 100, mit MH ja kein Problem.
        Danke für die schnelle Antwort.

        Aber:
        Wie man rechnet weiss ich, wie mache ich das für EIB.

        Taster sendet 0-255 und Aktor empfängt das auch, aber Visu steuert 0-100 an und kann dieses auch darstellen (EIBRB). Die Position wird in der EIBRB über Zeit gerechnet, was ich auch brauche, da ich für die Position kein Rückmeldeobjekt im Aktor habe.

        DH. ich habe eine Gruppe zB 1/12/2 die sendet 0-255 der Aktor bekommt das auch mit. Ich habe eine Gruppe 2/12/2 die soll daraus 0-100 darstellen.

        Gruss McTao

        Kommentar


          #5
          In der Visu gibst du als Datentyp einfach 8-bit (0..100%/EIS6) an.


          Den Aktoren ist das egal, die sehen immer nur das Byte. Ich mache das bei der Darstellung der Heizungssollwerte in meiner Visu ständig so.

          Deshalb brauche ich auch nix umzurechnen...

          gruss

          Kommentar


            #6
            Zitat von atlatus Beitrag anzeigen
            In der Visu gibst du als Datentyp einfach 8-bit (0..100%/EIS6) an.

            Deshalb brauche ich auch nix umzurechnen...
            Zum Verständnis: Mein Taster und Aktor haben ein Positionsobjekt 0-255 welches manuell benutzt wird.

            In der Visu (MH, iPhone) wird die EIBRB benutzt, diese hat ein berechnetes Positionsobjekt über die Fahrzeit. Wenn jetzt jemand den Taster drückt, möchte ich das Object in MH mitsetzen (umrechnen kann ich), ohne dass die Jalousie noch einmal fährt, damit der Zusatnd auf dem Bus auch korrekt wieder gegeben wird. Bisher kann ich in der Visu das Object zwar setzen, aber diese durch den Taster die aktuelle Position nicht kennt, fährt die Jalousie nicht auf die gewollte Position.

            Am besten wäre sie fährt beim Tastendruck und ich setze den Wert in der Visu ohne dass eine Aktion ausgeführt wird (wie das geht weiss ich aber auch nicht.)

            Gruss Andreas

            Kommentar


              #7
              Ähhh

              Kann ich Dir den Stress nehmen, wenn ich Dir verrate, dass Dein Aktor sehr wohl die Position zurückmelden kann?
              Wenn kein Rückmeldeobjekt zur Verfügung steht, musst Du nur das Ü-Flag am Positionseingang des Aktors setzen. Dann überträgt der jedesmal, wenn er intern einen neue Position errechnet hat (der macht nämlich auch nix anderes) den neuen Wert auf den Bus, meldet also zurück.
              Grüße Marc

              Kommentar


                #8
                Alles richtig was hier geschrieben wurde bezüglich der Rückmeldeobjekte, allerdings benutzt Rak´s EIBRB nicht dieses Rückmeldeobjekt sondern wird soweit ich das bei mir nachvollziehen kann nur über die Fahrzeit seitens MH berechnet. Hintergrund dabei war von Ralf das seine Aktoren kein Positionsrückmeldeobjekt hatten (haben). Deshalb haben schon einige MH User ein anders EIB-Objekt zur Steuerung von Rollläden oder Jalousien in benutzung.

                Hier:
                https://knx-user-forum.de/knx-eib-fo...gesucht-3.html
                Zitat von Pauker Beitrag anzeigen
                In Mangel der mir fehlenden Gruppenadressen habe ich vor einiger Zeit aus der Rollerblinds.pm eine EIBRB_ILT510.pm abgeleitet.

                *.mht Eintrag:
                UpDown|Stop |Pos |StatusPos,

                EIBRB,8/1/126|8/2/126|8/3/126|9/2/126 ,RB_E0 |E0_Zentral

                Mit Pos kann ein beliebige Position (EIS6) 0-100 angefahren werden. StatusPost ist ein EIS5 Wert, der die aktuelle Position zu Beginn und zum Ende der Bewegung sendet. Den Beginn der Fahrt verwerfe ich in der Statusanzeige, indem ich den Status nur setze wenn er um 3 Einheiten vom letzten Wert abweicht.

                Das Funktioniert für meine 17 Rollläden auch super. Allerdings musste ich feststellen, dass Misterhouse wenn alle Rollläden morgens zeitgleich Auffahren nicht alle Werte die der EIBdeamon erhält auch im Status von Misterhouse angezeit werden. Die hörenden Gruppenadressen der oberen und unteren Endlage der Rollläden sind oft nicht korrekt. Im Gruppenmonitor der ETS werden alle Änderungen allerdings korrekt angezeigt.

                Ich habe auch schon versucht über EIB1 Items den Status abzufragen. Das Ergebnis war aber unverändert.

                Hat jemand auch diese Erfahrungen gemacht? Oder habe ich ein Fehler beim Anpassen gemacht?

                ! Der Code enthält viele Logmeldungen, die ich derzeit zur Kontrolle nutze.

                Hoffe das hilft!
                Christoph

                Kommentar


                  #9
                  Zitat von marc.keynejad Beitrag anzeigen
                  Kann ich Dir den Stress nehmen, wenn ich Dir verrate, dass Dein Aktor sehr wohl die Position zurückmelden kann?
                  Habe ich gestern Abend ausprobiert: mit Ü-Flag und/oder Aktualisieren etc.

                  Mein Gira 1020 00 4 fach Jalousieaktor scheint dort nichts zurückzugeben. Habe nur eine Positionsadresse eingetragen (sendend) und wenn ich dann per langem Tastendruck die Jalousie fahre, die dann stoppe, wird das Positionsobjekt nicht ausgegeben. (Mit dem Gruppenmonitor der ETS getestet.)

                  Gruss Andreas

                  Kommentar


                    #10
                    Zitat von McTao Beitrag anzeigen
                    Habe ich gestern Abend ausprobiert: mit Ü-Flag und/oder Aktualisieren etc.

                    Mein Gira 1020 00 4 fach Jalousieaktor scheint dort nichts zurückzugeben. Habe nur eine Positionsadresse eingetragen (sendend) und wenn ich dann per langem Tastendruck die Jalousie fahre, die dann stoppe, wird das Positionsobjekt nicht ausgegeben. (Mit dem Gruppenmonitor der ETS getestet.)

                    Gruss Andreas
                    Hallo Andreas,
                    ich habe mir gerade mal die 1020 00 in die ETS geholt und sehe da gar kein Rückmeldeobjekt, hatte bei meinen 1048 00 am Anfang genau das gleiche wie du, da ich auch davon ausgegeangen bin das "Positionierung" auch die Position zurück geben müsste! Tut es aber nicht!

                    Genau aus diesem Grund habe ich meine Aktoren ausgetauscht, die neuen Aktioren haben Rückmeldeobjekte, siehe Screendump!

                    Genau aus diesem Grund hat Rak das in die EIBRB mit der Zeit implementiert.

                    Ich hoffe das hilft dir.
                    Gruß
                    Christoph
                    Angehängte Dateien

                    Kommentar


                      #11
                      Hallo Christoph,

                      Zitat von chrismave Beitrag anzeigen
                      ich habe mir gerade mal die 1020 00 in die ETS geholt und sehe da gar kein Rückmeldeobjekt
                      ...
                      Genau aus diesem Grund hat Rak das in die EIBRB mit der Zeit implementiert.
                      danke, dann brauch ich nicht weitersuchen. Die EIBRB von Rak habe ich schon länger im Einsatz. Dann werde ich mir noch etwas Basteln (Programmieren) um das EIS6 Objekt vom Taster auch auf das EIBRB zu bekommen. Ich will die Installation auch ohne Rechner betreiben können und möchte deshalb nicht auf den Taster verzichten. Ich könnte sonst auch direkt an eine Adresse den Wert schicken und MH fährt dann die Jalousie, aber das will ich nicht.

                      Umsetzen könnte man (ich bin mir noch nicht sicher, wie ich es angehe):

                      Am Einfachsten mit einem tie_event und dann dann setzen der Position, wobei ich noch nicht weiss, wie ich dann MH sage, dass der Wert gesetzt werden soll, aber nicht auf den Bus gehen darf. (Hier muss ich dann noch mal lesen und ausprobieren.)
                      Oder:
                      Die EIBRB anpassen, dass ich auch eine Positionsinfo EIS6 bekomme und diese dann nur die Value 1-100 setzt, ohne zu fahren, da dass die Komponenten schon gemacht haben.

                      Gruss Andreas

                      Kommentar


                        #12
                        Hallo Andreas,
                        ich verstehe momentan nicht so genau was du machen möchtest, was meinst du mit "Installation auch ohne Rechner"?

                        Also bei mir ist die Situation so das alles auch ohne MH in den Grundfunktionen möglich sein soll. Sprich ich habe auf meinen Tastern bestimmet Grundfunktionen oder Szenenaufrufe hinterlegt. MH soll nur zusätzliche, keine Grundfunktionen, unterstützen und die Visualisierung bereitstellen! Nartürlich soll er auch das Licht ein-und ausschalten, aber praktisch nur genauso wie der vorhandene "Hardware-Taster".

                        Vielleicht meinen wir das gleiche und sprechen nur anders darüber (habe ich öfters mit meinem Chef ).

                        Gruß
                        Christoph

                        Kommentar


                          #13
                          Hallo Christoph,

                          Zitat von chrismave Beitrag anzeigen
                          Vielleicht meinen wir das gleiche und sprechen nur anders darüber
                          Wir meinen genau das gleiche:
                          Um ohne Rechner zu steuern, braucht der Taster und das Jalousieobjekt (Gira) einen Wert zwischen 0-255 und die Visu/iPhone (Steuerung Rechner) 0-100 und genau liegt das Dilemma. Ich könnte die Jalousie immer über den Rechner ansteuern, d.h. Taster->Rechner->Aktor aber das will ich nicht, ich will:
                          Taster->Aktor und Rechner->Aktor. Nur in einem Fall setze ich direkt eine Position, im anderen wird die Aktion langer Tastendruck eine bestimmte Zeit gesetzt. (Dadurch bekommt der Rechner nicht mit, wenn ich direkt Taster->Aktor verwende).

                          Gruss Andreas

                          Kommentar


                            #14
                            Zitat von McTao Beitrag anzeigen
                            Um ohne Rechner zu steuern, braucht der Taster und das Jalousieobjekt (Gira) einen Wert zwischen 0-255 und die Visu/iPhone (Steuerung Rechner) 0-100 und genau liegt das Dilemma.
                            ...
                            Nur in einem Fall setze ich direkt eine Position, im anderen wird die Aktion langer Tastendruck eine bestimmte Zeit gesetzt. (Dadurch bekommt der Rechner nicht mit, wenn ich direkt Taster->Aktor verwende).
                            Tschuldigung, aber ich lese schon 'ne Weile mit, weil ich helfen will, aber trotz intensiver Bemühungen habe ich noch nicht ein mal das Problem verstanden.

                            Ich fasse es nochmal mit meinen Worten zusammen:
                            mh (Visu) sendet vermeindlich 0-100 % auf den Bus. Der Tastsensor sendet aber (bei langem Tastendruck) eine Position als 8-Bit (0-255) auf den Bus. Und Du siehst darin ein Problem - stimmt das so?

                            Wenn dem so ist, sehe ich (wie adlatus) das Problem einfach noch nicht. Die 0-100 % sind nur eine andere Darstellung des selben 8 bit-Werte (0-255). Auf dem Bus wird an der gesendeten Gruppenadresse genau der selbe Wert ankommen (kannst Du mit der ETS überpüfen - dort ist die Einstellung der Einheit auch nur für die Darstellung im Busmonitor relevant).

                            Sehe ich das richtig, oder bin ich im falschen "Film"?

                            Viele Grüße,

                            Stefan
                            Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                            Kommentar


                              #15
                              So fangen wir mal von "vorne" an, ich versuche mal zu beschreiben wie ich das bei mir habe:

                              Alle Rollläden werden grundsätzlich mit auf/stop/ab über die normalen Kommunikationsobjekte angesteuert. Dazu habe ich eine GA für den Langzeit- und eine für den Kurzzeitbetrieb definiert. (Bild1)

                              Was ich nicht verstehe ist wie du eine Position von einem Taster (welcher?) mit dem Langzeitobjekt ansprichst?

                              Bei meinem TS2 von Gira könnte ich das über einen Wertgeber realisieren der dir das entsprechnde festdefinierte byte auf den Positionseingang des Aktors sendet.

                              Zu MH wäre zu sagen das bei Rak´s EIBRB die GA für auf/stop/ab die gleichen GA´s wie im Aktor sind, damit bekommen alle (Taster,Aktor und MH) den Schaltbefehl mit, einziges Problem die dritte GA von MH, soweit ich weis, hat er diese ausschließlich zur bestimmung der Position für seine Visu definiert. Sprich er nimmt die eingegebene Fahrtzeitbasis in der Rolllerblinds.pm (EIBRB_Item('0/1/0|0/1/10|0/1/128', 29);als Grundlage für die 100% Position, Hintergrund war die Positionsdartsellung in der Iphone Visu, da er genau wie du keine Positionsrückmeldung beim Aktor hatte.

                              Hier liegt (nach mehrmaligem lesen) wohl dein Problem das MH die Position nicht darstellt wenn du sie vom Taster her positionierts, also nicht mit auf/ab? Richtig?

                              Wenn ja wirst du genau das auch nicht umgesetzt bekommen da Mh ja immer noch auf ein auf/ab wartet um die interne Zeitfunktion zu starten um die Position zu messen und in der dritten GA (0/1/128) darzustellen.

                              Ich meine in Erinnerung zu haben das ich mal probiert habe diese GA auch als Positionierungsadresse zu nutzen, gibt aber auf jedenfall ungenauigkeit da MH ja bei auf/ab die Zeitfunktion wieder neu startet, aber probiers mal.

                              Eine Sache gibt es allerdings noch, vielleicht könnte Ralf das nochmal genauer erklären, in der Rolllerblinds.pl hatte er folgendes definiert:
                              Code:
                              my %poseg = (
                                         anwesend_lueften  => 67,
                                         abwesend_lueften  => 67,
                                         anwesend_schlafen => 67,
                                         abwesend_schlafen => 67,
                                         abwesend_gekippt  => 67,
                                         anwesend_gekippt  => 67,
                                         abwesend_zu       => 100,
                                         anwesend_zu       => 100,
                                         abwesend_sonne    => 60,
                                         anwesend_sonne    => 60,
                                         anwesend_offen    => 'up',
                                         abwesend_offen    => 'up'
                                        );
                              Also definierte Positionen, vieleicht könnte das eine Weg sein in Mh.

                              Was ich mit Ralf mal gamacht habe ist eine Szene die ich auch mit einem Taster aufrufen kann wenn ich eine 1 auf die der Adresse($test) hinterlegte GA sende:
                              Code:
                              # Untergruppe 5 Szenen
                              
                              EIBSZ, 5/5/0, Test,
                              Code:
                              tie_event $Test 'if ($state eq ON) {set $Test OFF; set $Arbeitszimmer ON; set $Kueche_wert 150; set $Essen_Rollladen 150}';
                              Allerdings wäre damit der Positionabruf wieder nur über MH und nicht beides möglich!

                              Deswegen habe ich in meinen TS2+ Szenen definiert die ich entweder über Taster oder MH mit einem byte abrufe!
                              Code:
                              tie_event $TV 'if ($state eq ON) {set $TV OFF; set $Szeneneingang 2}';
                              tie_event $Schlafen 'if ($state eq ON) {set $Schlafen OFF; set $SzeneneingangTS2_ohnekinder 1}';
                              tie_event $Nachtruhe 'if ($state eq ON) {set $Nachtruhe OFF; set $SzeneneingangTS2_ohnekinder 0}';
                              Ich hoffe alles richtig verstanden zu haben und dir damit geholfen zu haben!

                              Gruß
                              Christoph
                              Angehängte Dateien

                              Kommentar

                              Lädt...
                              X