Ankündigung

Einklappen
Keine Ankündigung bisher.

Projektaktivierung: SendbyChange ohne Init .. sendet trotzdem

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

    Projektaktivierung: SendbyChange ohne Init .. sendet trotzdem

    Hallo,

    Ich bräuchte mal hilfe zu meiner Logik und zum Baustein SenbByChange ohne init.


    In dieser Logik frage ich Präzensdetection von Smartphones ab.
    Das funktioniert tadellos mit dem Unifi LBS

    Mein Problem:
    Bei jeder Projektaktivierung bekomme ich aber trotzdem einen Wert getriggert auch wenn der sich seit Projektaktivierung nicht verändert hat.
    Ich dachte dafür wäre Sendbychange ohne init da!!! pushover.PNG



    ID 66 triggert den Unifi LBS>> Kommt wert raus auf ID 90 mit Vergleichswert B >> kommt wert auf ID 91

    Bei ID 91 hier soll eigentlich nur weitergeleitet werden wenn der Wert anders ist als vorher

    falls Wert neu dann (was wohl immer passiert egal ob neu oder nicht) >> kommt wert auf ID 94
    >> von hier weiter je nach wert auf den Pushover LBS

    Was mache ich falsch? Wie kann ich verhindern das bei jeder Projektaktivierung ich eine Pushnachricht bekomme.
    Ich will doch nur eine Nachricht bzw. KO bekommen ändern wenn sich etwas verändert.


    Vielleicht kann mir mal jemand auf die Sprünge helfen
    Zuletzt geändert von trollmar; 16.05.2017, 22:54.
    Jean-Luc Picard: "Things are only impossible until they are not."

    #2
    Du kannst die mal einen Logging LBS vor den Sendby setzten (um zu sehen wie viele Werte er bekommt) und/oder eine Sperre mit dem SytemKO "Systemstart" Gegenfalls mit Verzögerer...

    Kommentar


      #3
      Ich denke am SendByChange kommt zunächst eine 0 and, da der Vergleicher durch die vorbelegte 0 getriggert wird. Danach irgendwann liefert der Unifi LBS seinen ersten Wert. Wenn dann ein Client erkannt wurde, liefert er eine 1, die dann am SendByChange ankommt. Dies ist dann ein Change und die Logik nimmt ihren Lauf.

      Kommentar


        #4
        Zitat von trollmar Beitrag anzeigen
        Das funktioniert tadellos mit dem Unifi LBS
        Hah, jemand der meinen LBS benutzt

        Kommentar


          #5
          Zitat von wintermute Beitrag anzeigen
          Hah, jemand der meinen LBS benutzt
          Ja!!!
          Danke wintermute. Dein LBS ist super!!
          Und "arbeitet" schon mehr als 4 Wochen tadellos ;-)
          War der erste LBS aus dem ich eine Logik gebaut habe

          Aber genau diese Logik muss jetzt mal Fehlerfrei werden.




          Hab mal hinter den Unifi LBS nen Logging Baustein gesetzt.
          017-05-14 00:15:01 019983 30054 1
          2017-05-14 00:16:01 030492 30054 1
          2017-05-14 00:17:03 033617 8081 0
          2017-05-14 00:18:01 074712 8081 1
          2017-05-14 00:19:01 119240 8081 1
          2017-05-14 00:20:01 170311 8081 1
          Beim Zeitindex 00:17:03 habe ich edomi neu gestartet.
          Da wird der Unfi LBS dann erstmal keinen Kontakt zum unifi haben.
          Er schickt dann wohl ne 0 und dann ne 1 nachdem er wieder Kontakt hat und jemand zuhause ist.

          Bin immer noch bei den ersten Schritten mit Edomi ;-)
          Fällt mir schwer sowas wie eine "Werte Schleife" für den Neustart zu konstruieren.

          Welchen Baustein muss ich verwenden um sagen wir 120sek zu verzögern?
          Quasi den Neustart und Kontaktaufnahme abfangen?


          Oder an Wintermute:
          ..gäbe es eine Möglichkeit im Unifi Baustein den Edomi Neustart zu Signalisieren?
          Sowas wie .. Bei Neustart Edomi wird solange keinen Wert an den Ausgang geschickt solange es keinen zugriff auf das Unfi gibt.
          Der Baustein ist super für Anwesenheitserkennung nur dieser darf durch ein Neustart nicht kurzeit falsche werte ausgeben.

          LG
          Danke an alle die mir schon geholfen haben!
          Zuletzt geändert von trollmar; 14.05.2017, 00:43.
          Jean-Luc Picard: "Things are only impossible until they are not."

          Kommentar


            #6
            Zitat von trollmar Beitrag anzeigen
            ..gäbe es eine Möglichkeit im Unifi Baustein den Edomi Neustart zu Signalisieren?
            Sowas wie .. Bei Neustart Edomi wird solange keinen Wert an den Ausgang geschickt solange es keinen zugriff auf das Unfi gibt.
            Ja, ich kann das so bauen, dass der Baustein waehrend der Edomi-Initialisierung nicht getriggert wird. Normal waere das auch normal, aber dieser LBS ist etwas quick&dirty-gewachsen
            Aber wenn es danach (warum auch immer) keinen Zugriff gibt, wird es trotzdem nicht funktionieren
            Jetzt ist jedenfalls etwas zu spaet, ich versuche mir das mal zu merken. Vllt "die Tage" nochmal dran erinnern

            Zitat von trollmar Beitrag anzeigen
            Der Baustein ist super für Anwesenheitserkennung nur dieser darf durch ein Neustart nicht kurzeit falsche werte ausgeben.
            Ja, bin ich bei Dir!

            Davon ab: laeuft es auch stabil mit iPhones (die sich ja angeblich im Sleep abmelden)?
            Und wie schonmal gefragt: ausgehend von der Basis dieses LBS koennte man auch so Sachen machen wie APs an/abschalten oder zB auch die LED fremd-zu-verwenden. Wenn da (oder woanders) Bedarf besteht bitte einfach mal Bescheid sagen!

            Kommentar


              #7
              Zitat von trollmar Beitrag anzeigen

              Beim Zeitindex 00:17:03 habe ich edomi neu gestartet.
              Da wird der Unfi LBS dann erstmal keinen Kontakt zum unifi haben.
              Er schickt dann wohl ne 0 und dann ne 1 nachdem er wieder Kontakt hat und jemand zuhause ist.
              Das ist genau das, was ich oben beschrieben habe. Das liegt an der 0 am Vergleicher. Lass den Vergleicher doch einfach mal weg. Der Unifi liefert doch 0-n (Anzahl Devices). Diese dann auf den SendByChange und bei Änderung wird dann der Binärauslöser getriggert und zwar A1 bei >0 Clients und A2 bei =0 Clients.

              Kommentar


                #8
                Zitat von trollmar Beitrag anzeigen
                ..gäbe es eine Möglichkeit im Unifi Baustein den Edomi Neustart zu Signalisieren?
                Nu wollt ich da mal eben bei und musste sehen, dass das bei der Version 0.2 vom LBS bereits der Fall ist. In Deinem Screenshot sieht man die 0.1, kannst Du mal Update machen und schauen ob es sich dann wie gewuenscht verhaelt?

                Kommentar


                  #9
                  Hi.
                  Is ja super.



                  Irgendwie funktioniert der lbs für edomi lbs Updates bei mir noch nicht richtig.
                  Kriege da nur jedes x-te Update angezeigt.
                  Sonst hätte ich deinen lbs schon längst upgedatet.


                  Werd heute abend updaten und berichten.



                  LG und danke.
                  Jean-Luc Picard: "Things are only impossible until they are not."

                  Kommentar


                    #10
                    Zitat von trollmar Beitrag anzeigen
                    Hallo,

                    Ich bräuchte mal hilfe zu meiner Logik und zum Baustein SenbByChange ohne init.


                    In dieser Logik frage ich Präzensdetection von Smartphones ab.
                    Das funktioniert tadellos mit dem Unifi LBS

                    Mein Problem:
                    Bei jeder Projektaktivierung bekomme ich aber trotzdem einen Wert getriggert auch wenn der sich seit Projektaktivierung nicht verändert hat.
                    Ich dachte dafür wäre Sendbychange ohne init da!!!
                    pushover.PNG


                    ID 66 triggert den Unifi LBS>> Kommt wert raus auf ID 90 mit Vergleichswert B >> kommt wert auf ID 91

                    Bei ID 91 hier soll eigentlich nur weitergeleitet werden wenn der Wert anders ist als vorher

                    falls Wert neu dann (was wohl immer passiert egal ob neu oder nicht) >> kommt wert auf ID 94
                    >> von hier weiter je nach wert auf den Pushover LBS

                    Was mache ich falsch? Wie kann ich verhindern das bei jeder Projektaktivierung ich eine Pushnachricht bekomme.
                    Ich will doch nur eine Nachricht bzw. KO bekommen ändern wenn sich etwas verändert.


                    Vielleicht kann mir mal jemand auf die Sprünge helfen
                    Also ...
                    das Update (v0.2) bringt bei meiner Logik keine "Verbesserung".

                    Mein Problem ist eigentlich der A1. Dieser gibt ja die Anzahl wieviele Devices "online" sind.
                    Ich benötige aber eigentlich nur die Info ob einer der Devices online ist . Mit Ja/Nein oder anders gesagt 0/1
                    Egal wieviele es sind.

                    Wenn ich wie oben den Vergleicher (tipp Jonofe) weg lasse,
                    triggert der Baustein (durch Send by Change ohne init) nicht nach Neustart Edomi die Logik.
                    Aber sobald ein Device dazu kommt gibt es natürlich einen neunen Wert und damit einen neuen trigger.

                    Ich habe es jetzt so gelöst.
                    Vielleicht hilft es ja jemandem.

                    @Wintermute
                    Wie machst du das denn?
                    Will noch was lernen ​​​​​​​
                    unifi.jpg
                    Jean-Luc Picard: "Things are only impossible until they are not."

                    Kommentar


                      #11
                      Uhm... also erstmal gings ja darum, dass der LBS beim Edomi-Start triggert, was suboptimal ist. Das ist mir auch aufgefallen und sollte in der Version 0.2 eigentlich behoben sein.
                      Wenn es jetzt darum geht ob "mindestens Einer" anwesend ist, dann pack einen Vergleicher A ungleich B an A1 (mit B=0) und dahinter einen SBC, das sollte reichen.

                      Und ich selbst benutze den LBS gar nicht, der ist nur "auf Anfrage" erstellt worden. Mit den Leuten die in "diesem unserem Haus" leben funktioniert eine so deterministische Verhaltenserkennung leider nicht

                      EDIT: es koennte evtl noch hilfreich sein das Anwesenheits-iKO auf Remanent zu setzen...

                      Kommentar


                        #12
                        Zitat von wintermute Beitrag anzeigen
                        Uhm... also erstmal gings ja darum, dass der LBS beim Edomi-Start triggert, was suboptimal ist. Das ist mir auch aufgefallen und sollte in der Version 0.2 eigentlich behoben sein.
                        Wenn es jetzt darum geht ob "mindestens Einer" anwesend ist, dann pack einen Vergleicher A ungleich B an A1 (mit B=0) und dahinter einen SBC, das sollte reichen.
                        Um mein UseCase nochmal genauer zu beschreiben ....

                        Sagen wir es gibt drei eingetragene Devices.

                        Wenn Device A vorhanden = Anwesenheit = 1
                        Wenn Device A + B vorhanden = Anwesenheit = 1
                        Wenn Device A + B + C vorhanden = Anwesenheit =1
                        Wenn Device B vorhanden = Anwesenheit =1
                        ...
                        Wenn kein Device vorhanden = Abwesenheit = 0

                        Der nutzen von Ausgang A und Ausgang B des LBS ist quasi das gleiche.
                        Weil beide Ausgänge immer hochzählen.


                        Als "Unfi Anwesenheits LBS" würde der "Ausgang A" mehr Sinn machen wenn er nur sagt Anwesenheit gegeben oder Anwesenheit nicht gegeben >> ja oder nein >> 0 oder 1

                        Ausgang B ist prima für andere UseCases.


                        Wenn ich so baue wie im letzten Post von mir beschrieben funktioniert er ja auch ganz wunderbar.

                        Vielen Dank wintermut für diesen Baustein!!
                        Zuletzt geändert von trollmar; 17.05.2017, 22:16.
                        Jean-Luc Picard: "Things are only impossible until they are not."

                        Kommentar


                          #13
                          Ich denke den ersten SendByChange brauchst du nicht, denn der Filter wird ja nicht separat getriggert, sondern nur beim ersten Lauf des Unifi. Und das erste Ergebnis wird durch den zweiten SendByChange gestoppt.

                          So wie du es in deinem letzten Screenshot hast, würde ich vermuten, dass erst die zweite Änderung zu einer Nachricht führt, denn du hast zwei SendByChange in Reihe geschaltet.

                          Kommentar

                          Lädt...
                          X