Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Richtige Roles und States für Relais und Taster?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Richtige Roles und States für Relais und Taster?

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      HausBusDe @paul53 last edited by

      @paul53 Das stimmt. Wie ist das im IO Broker eigentlich mit der Parallelität? Kann es sein, dass zwei Regeln beide ein Relais kurz nacheinander schalten wollen und der erste das eine Property schon wieder verstellt, wo der vorherige gerade den State auf on schalten will ?

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @HausBusDe last edited by

        @HausBusDe sagte:

        Kann es sein, dass zwei Regeln beide ein Relais kurz nacheinander schalten wollen

        Welche zwei Regeln ?

        H 1 Reply Last reply Reply Quote 0
        • H
          HausBusDe @paul53 last edited by

          @paul53 Ich meinte, wenn man später Regeln programmiert die das Licht schalten. (Weiß nicht, wie man das in IO Brokersprache nennt). Also sowas wie "Um 18 Uhr Licht anschalten mit Helligkeit 50%" und "Wenn jemand diese Taste drückt, dann Helligkeit 100%". Wenn beides gleichzeitig passiert könnte ich mir schon vorstellen, dass der Zugriff auf einen Datenpunkt synchronisiert ist, aber nicht über mehrere oder? Dann könnten die sich da schon gegenseitig überschreiben ?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @HausBusDe last edited by

            @HausBusDe sagte:

            Wenn beides gleichzeitig passiert

            Gleichzeitig gibt es nicht. Der letzte gewinnt - auch wenn er nur wenige ms später ist.

            H 1 Reply Last reply Reply Quote 0
            • H
              HausBusDe @paul53 last edited by HausBusDe

              @paul53 Ist das auch sichergestellt, wenn 3 Datenpunkte geändert werden müssen? Oder kann halt folgendes passieren:
              Erster will Relais mit Dauer schalten und zweiter will Relais ohne Dauer schalten. Da es nun getrennte Datenpunkte sind, passiert folgendes:

              Erster setzt den Datenpunkt für die Dauer auf 10 Sekunden
              Zweiter setzt den Datenpunkt für die Dauer auf 0
              Erster setzt den State auf ON
              Zweiter setzt den State auf ON

              paul53 Jey Cee 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @HausBusDe last edited by

                @HausBusDe sagte:

                Erster setzt den Datenpunkt für die Dauer auf 10 Sekunden
                Zweiter setzt den Datenpunkt für die Dauer auf 0

                Auch hier gilt: Der letzte siegt. Der zugehörige Timer wird erst mit ON gestartet.

                1 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer @HausBusDe last edited by

                  @HausBusDe sagte in Richtige Roles und States für Relais und Taster?:

                  Ist das auch sichergestellt, wenn 3 Datenpunkte geändert werden müssen?

                  Also sollte es passieren das es zu einer Überschneidung kommt, was wirklich unwahrscheinlich ist, dann kann das nicht sicher gestellt werden.

                  Am ende muss der User wissen was er will und tut. Der sollte verhindern das so etwas passiert, immerhin kann ioBroker nicht wissen was das Ziel ist.

                  1 Reply Last reply Reply Quote 0
                  • Jey Cee
                    Jey Cee Developer @paul53 last edited by

                    @paul53 sagte in Richtige Roles und States für Relais und Taster?:

                    @HausBusDe sagte in Richtige Roles und States für Relais und Taster?:

                    Wie macht man es am besten, wenn es zwei Parameter gibt (z.b. Einschaltverzögerung + Dauer).

                    Zwei Datenpunkte "number", aktiviert durch Datenpunkt state / on = true.

                    Getrennte Datenpunkte sollten verwendet werden wenn jeder Parameter für sich stehen kann. Sollten sie nur in Kombination funktionieren kann man einen daraus machen. (Macht auch sinn um nicht unnötigen traffic zu erzeugen)

                    Beispiel:
                    On, Einschaltverzögerung und Dauer -> Datenpunkt delayed -> Parameter: 2, 10 //das on kann man sich als eigenen Parameter sparen weil ja schon klar ist das dieser Befehl mit den gegebenen Parametern einschaltet. Das Format der Parameter sollte so einfach wie möglich gehalten werden, wenn man nur Zahlen ohne Kommastellen verwendet ist ein Komma völlig ok. Bei Zahlen mit Nachkommastellen ist ein Semikolon zu verwenden, weil ioBroker international ist und sowohl Punkt als auch Komma für Dezimal Zahlen in frage kommen.

                    Ist sowohl die Möglichkeit gegeben sie in Kombination als auch einzeln zu verwenden ist es sinnvoll beides an zu bieten.

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      HausBusDe @Jey Cee last edited by

                      @Jey-Cee genau so mache ich das. Mit mehreren Datenpunkten wird es auf jeden Fall Probleme geben. In der Firmware ist es schließlich auch nur ein Aufruf mit 2 Parametern. Ich wollte nur wissen, ob ein kommaseparierter String ok ist oder ob dann ein IO Broker User ein Anfall bekommt 😁

                      Jey Cee 1 Reply Last reply Reply Quote 0
                      • Jey Cee
                        Jey Cee Developer @HausBusDe last edited by

                        @HausBusDe sagte in Richtige Roles und States für Relais und Taster?:

                        ob ein kommaseparierter String ok ist oder ob dann ein IO Broker User ein Anfall bekommt

                        Ganz bestimmt. Es gibt dafür keine Vorgabe, weswegen man nie weis wad man eingeben muss.

                        H 1 Reply Last reply Reply Quote 0
                        • H
                          HausBusDe @Jey Cee last edited by

                          @Jey-Cee Ich könnte ja zusätzlich eine Conveniencefunktion machen, die nur an und ausschaltet und eine mit Parametern. Dann sollte eigentlich alle glücklich werden

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @HausBusDe last edited by

                            @HausBusDe sagte:

                            und eine mit Parametern.

                            Welcher Wert soll an diesen Datenpunkt übergeben werden ?

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              HausBusDe @paul53 last edited by

                              @paul53 z.b. Einschaltverzögerung und Einschaltdauer

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @HausBusDe last edited by

                                @HausBusDe sagte:

                                Einschaltverzögerung und Einschaltdauer

                                Als String mit Semikolon separiert und mit festgelegter Reihenfolge ?

                                H 1 Reply Last reply Reply Quote 0
                                • H
                                  HausBusDe @paul53 last edited by

                                  @paul53 Semikolon oder Komma, ja. Wieso ?

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @HausBusDe last edited by

                                    @HausBusDe sagte:

                                    Wieso ?

                                    Du hast oben gefragt

                                    Verwendet man dann einen String mit Kommaseparierung oder besser ein Array oder ein Object wo die beiden Werte drin sind ?

                                    Arrays und Objekte sind für einen Blockly-Programmierer schwer darzustellen. Auch im Tab "Objekte" dürften sie Probleme bereiten.

                                    H 1 Reply Last reply Reply Quote 0
                                    • H
                                      HausBusDe @paul53 last edited by

                                      @paul53 Dann ist der String mit Komma doch besser oder? Und zusätzlich gibts ja zur Not noch die Funktion ohne Parameter

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @HausBusDe last edited by

                                        @HausBusDe sagte:

                                        Dann ist der String mit Komma doch besser oder?

                                        Ja.

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        718
                                        Online

                                        31.9k
                                        Users

                                        80.2k
                                        Topics

                                        1.3m
                                        Posts

                                        adapterentwicklung relais tast
                                        4
                                        26
                                        1241
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo