Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter für Nello One

    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

    SOLVED Adapter für Nello One

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Cool-runner1990 last edited by

      ja bin ich.

      meinst du den oben links?

      20E53395-8515-444F-BC31-A324B93F9E2F.jpeg

      Zefau 1 Reply Last reply Reply Quote 0
      • Zefau
        Zefau @Cool-runner1990 last edited by

        @Cool-runner1990 Jo, hast den probiert? Der geht nicht?

        1 Reply Last reply Reply Quote 0
        • C
          Cool-runner1990 last edited by

          ja, probiert und der funtzt nicht.
          wie lange braucht es denn bis der Status unter Cloud.0.services angelegt wird?

          Zefau 1 Reply Last reply Reply Quote 0
          • Zefau
            Zefau @Cool-runner1990 last edited by

            @Cool-runner1990 Wird sofort angelegt, wenn der Event empfangen wird. Hast du die komplette Url im nello Adapter hinterlegt und mal geklingelt? Im Log sollte stehen, dass der Webhook angelegt wurde und auch, wenn der Event empfangen wurde. Sonst stell den Adapter auf Debug, stell alles ein, klingel bei dir und schick mir das Log als PM.

            1 Reply Last reply Reply Quote 0
            • C
              Cool-runner1990 last edited by

              ok mache ich, aber ich muss den IFTTT-key hinten anhängen und nicht den cloud-app-key?

              Zefau 1 Reply Last reply Reply Quote 0
              • Zefau
                Zefau @Cool-runner1990 last edited by

                @Cool-runner1990 Da ich den iot Adapter nutze, kann ich es dir nicht genau sagen. Bei mir hat der Key das Format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

                1 Reply Last reply Reply Quote 0
                • C
                  Cool-runner1990 last edited by Cool-runner1990

                  ok, das ist bei dir nicht die ID of Location von nello oder?

                  ich verzweifelt, hab jetzt alle Keys eingegeben die es sein könnten, es geht gar nichts:(

                  hat sonst jemand ne Ahnung welcher Key es ist (bei Cloud)?

                  Zefau 1 Reply Last reply Reply Quote 0
                  • Zefau
                    Zefau @Cool-runner1990 last edited by

                    @Cool-runner1990 Hab mir den Adapter mal fix installiert. Den APP-KEY generierst du ja Online. Den IFTTT key kommt aus dem Adapter direkt, daher ist es definitiv der. Wie sieht denn deine URL am Ende aus, die du im nello Adapter hinterlegst?

                    1 Reply Last reply Reply Quote 0
                    • C
                      Cool-runner1990 last edited by Cool-runner1990

                      ok, aber dann hat er auf jeden Fall nicht das von dir angegebenen Format. oder ist dein IFTTT-key in dem von dir genannten Format?

                      bei mir sieht die URL so aus :
                      F9E8FEF2-207E-4774-A891-F8C7FFA77160.jpeg

                      wenn ich die URL aber im Browser eingebe kommt das:
                      image.jpg

                      Ist das normal?

                      Zefau 1 Reply Last reply Reply Quote 0
                      • Zefau
                        Zefau @Cool-runner1990 last edited by

                        @Cool-runner1990 sieht gut aus. Und GET scheint nicht erlaubt, aber nello liefert PUT oder POST

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          omx @Zefau last edited by

                          @Zefau Ich bin gerade dabei die "timeWindows.createTimeWindow" Funktion zu testen.

                          Ich möchte mit einem Schalter z.B. Homematic ein vorher definiertes Zeitfenster ein und ausschalten.
                          Mit einem kleinen Blockly/Script habe ich das einschalten hinbekommen.
                          In der Nello App wird das Zeitfenster dann jedoch mit einem Versatz von 2 Stunden angezeigt z.B 10:00 -12:00 im Script sind dann 12:00 - 14:00 Uhr in der Nello App die Tür läßt sich dann auch nur zwischen 12:00-14:00 Uhr öffnen.
                          Diesen Versatz könnte man beim Script ja einplanen.
                          Gibt es auch eine Möglichkeit dieses Zeitfenster wieder mit dem Schalter zu beenden.
                          Ich habe leider keinen Ansatzpunkt gefunden. Ich bin aber auch absoluter Anfänger in der Programmierung.
                          Im voraus vielen Dank für die Hilfe.
                          Gruß Oliver

                          Zefau 1 Reply Last reply Reply Quote 0
                          • Zefau
                            Zefau @omx last edited by

                            @omx sagte in Adapter für Nello One - Wlan Upgrade für Gegensprechanlage:

                            Gibt es auch eine Möglichkeit dieses Zeitfenster wieder mit dem Schalter zu beenden.

                            Der State timeWindows.indexedTimeWindows gibt dir alle angelegten Zeitfenster aus. Wenn du diesen durchsuchst, dann kannst du die ID herausfinden und das Zeitfenster löschen.

                            Mit Javascript:

                            const ns = 'nello.0.12345678-abcd-zyxw-efgh-9876543210'; // hier den Pfad zu deinem nello eintragen!
                            
                            function delTimeWindow(name)
                            {
                                let res = false;
                                let tws = getState(ns + '.timeWindows.indexedTimeWindows').val || '';
                                if (!tws) return res;
                                
                                tws.split(',').forEach(function(tw)
                                {
                                    let timeWindow = getState(ns + '.timeWindows.' + tw + '.name').val;
                            
                                    if (timeWindow == name)
                                    {
                                        setState(ns + '.timeWindows.' + tw + '.deleteTimeWindow', true);
                                        res = true;
                                        return;
                                    }
                                });
                            
                                return res;
                            }
                            

                            Diese Funktion im ioBroker.javascript Adapter anlegen. Dann kannst du diese wie folgt nutzen:

                            let res = delTimeWindow('Cleaner');
                            log(res ? 'Zeitfenster gelöscht!' : 'Zeitfenster NICHT gelöscht!');
                            

                            Um das Ganze im vis zu nutzen, musst du (glaube ich) einen eigenen Javascript State anlegen, um die Funktion ausführen zu können. Ich selbst nutze kein vis.
                            Für den State dann eine Subscription wie folgt anlege (beispielhaft javascript.0.nello.deleteTimeWindow)

                            on('javascript.0.nello.deleteTimeWindow', function(obj)
                            {
                                if (obj.state.val)
                                {
                                    let res = delTimeWindow(obj.state.val);
                                    log(res ? 'Zeitfenster gelöscht!' : 'Zeitfenster NICHT gelöscht!');
                                }
                            });
                            
                            O 1 Reply Last reply Reply Quote 0
                            • O
                              omx @Zefau last edited by

                              @Zefau Vielen Dank für die Antwort.
                              Leider bin ich totaler Anfänger in der Programmierung.
                              Wenn ich es richtig verstehe, durchsucht das Script alle Zeitfenster und verbindet den von mir gewählten Namen mit der generierten ID.
                              Wenn ich also per Schalter z.B. den nachfolgenden json string bei createTime Window einsetze

                              {"name":"nello","ical":"BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20190610T105000Z\r\nDTEND:20190613T140000Z\r\nSUMMARY:nello\r\nEND:VEVENT\r\nEND:VCALENDAR"}

                              erzeuge ich ein Zeitfenster mit dem Namen "nello".

                              Anschließend kann ich dann das Zeitfenster mit dem Namen "nello", gezielt mit dem Schalter wieder ausschalten.
                              Sobald ich den Schalter wieder drücke wird das selbe Zeitfenster mit dem Namen "nello" aber einer neue ID erzeugt.
                              Dieses Zeitfenster kann ich dann wieder mit dem Schalter löschen u.s.w.

                              Zum erzeugen des Zeitfensters habe nachfolgendes Script (Blockly) benutzt.

                              on({id: "hm-rpc.2.0014D8xxxxxxxx.1.PRESS_SHORT"/HmIP-SMI55 0014D8xxxxxxxx:1.PRESS_SHORT/, change: "any"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              setStateDelayed('nello.0.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx0.timeWindows.createTimeWindow', '{"name":"nello","ical":"BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20190610T105000Z\r\nDTEND:20190613T140000Z\r\nSUMMARY:nello\r\nEND:VEVENT\r\nEND:VCALENDAR"}', false, parseInt(0, 10), false);
                              });

                              Zum löschen aller Fenster habe ich nachfolgendes Script (Blockly) benutzt.

                              on({id: "hm-rpc.2.0014D8xxxxxxxx.2.PRESS_SHORT"/HmIP-SMI55 0014Dxxxxxxxx:2.PRESS_SHORT/, change: "any"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              setStateDelayed('nello.0.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx0.timeWindows.deleteAllTimeWindows', true, false, parseInt(0, 10), false);
                              });

                              Was muss ich nun eingeben um nur das Zeitfenster mit dem Namen "nello" zu löschen?

                              Ich hoffe ich habe mich einigermaßen verständliche ausgedrückt.
                              Vielen Dank für die Hilfe.
                              Gruß Oliver

                              Zefau 1 Reply Last reply Reply Quote 0
                              • Zefau
                                Zefau @omx last edited by

                                @omx heißt das Zeitfenster immer gleich und gibt es den Namen nur 1x?

                                Wenn ja, dann

                                on({id: "hm-rpc.2.0014D8xxxxxxxx.2.PRESS_SHORT"/HmIP-SMI55 0014Dxxxxxxxx:2.PRESS_SHORT/, change: "any"}, function (obj) {
                                delTimeWindow('nello')
                                });
                                
                                O 1 Reply Last reply Reply Quote 0
                                • O
                                  omx @Zefau last edited by

                                  @Zefau Vielen Dank für die Antwort.
                                  Ja ich möchte nur ein Zeitfenster an- und ausschalten.
                                  Im Grunde möchte ich nello mit einem Schalter aktivieren und deaktivieren. In der App ist das meines Wissens so nicht vorgesehen. Für das Schalten wollte ich auch von der App unabhängig sein. Aus diesem Grund möchte ich ein vordefiniertes Zeitfenster mit einem Schalter an- und ausschalten können.
                                  Vielleicht gibt es ja auch eine andere Möglichkeit.

                                  Bei deinem letzten Script bekomme ich leider die nachfolgende Fehlermeldung.

                                  javascript.0 2019-06-03 11:28:21.290 error Error in callback: ReferenceError: delTimeWindow is not defined

                                  muß ich das Script noch mit etwas ergänzen?
                                  Vielen Dank für die Hilfe.
                                  Gruß Oliver

                                  Zefau 1 Reply Last reply Reply Quote 0
                                  • Zefau
                                    Zefau @omx last edited by

                                    @omx hast du die Funktion meines Posts function delTimeWindow(name) im global Ordner eingefügt?

                                    O 1 Reply Last reply Reply Quote 0
                                    • O
                                      omx @Zefau last edited by

                                      @Zefau Vielen Dank für die Antwort.
                                      Ich hatte das Script nicht im global Ordner.
                                      Jetzt funktioniert es. Vielen Dank.

                                      Im LOG bekomme ich nachfolgende Warnung:

                                      nello.0 2019-06-03 13:04:45.258 warn 500 - {"result":{"code":500,"success":false,"message":"Internal Server Error"},"data":{}}

                                      Muß ich da noch etwas unternehmen?

                                      Nochmals vielen vielen Dank für die Hilfe.

                                      Gruß Oliver

                                      1 Reply Last reply Reply Quote 0
                                      • F
                                        Filo last edited by

                                        Hallo allerseits,
                                        ich möchte mit createTimeWindow ein Zeitfenster anlegen.

                                        setState('nello.0.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.timeWindows.createTimeWindow', '{"name":"Cleaner","ical":"BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nDTSTART:20190710T163000Z\r\nDTEND:20190710T170000Z\r\nSUMMARY:Cleaner\r\nEND:VEVENT\r\nEND:VCALENDAR"}');
                                        

                                        Dabei bekomme ich folgende Fehlermeldung angezeigt:
                                        Parsing error for time window data: Unexpected token in JSON at position 41

                                        Kann mir irgend jemand weiterhelfen?
                                        Danke
                                        Gruß
                                        Marc

                                        Zefau 1 Reply Last reply Reply Quote 0
                                        • Zefau
                                          Zefau @Filo last edited by

                                          @Filo Stell mal bitte den Adapter aus Debug und schick mir das Ganze Log des Fehlers per PN.

                                          1 Reply Last reply Reply Quote 0
                                          • F
                                            Filo last edited by Filo

                                            @Zefau Danke für Deine Antwort, ich habe den Fehler mittlerweile gefunden, als ich das ganze in Blockly geschrieben habe und dann den Quelltext verglichen habe 🙂 .Also JS muß ich bei den Format Befehlen (\r\n) doppelte \ nehmen. Richtig und auch funktionierend (bei mir) ist:

                                            \\r\\n
                                            

                                            Gruß
                                            Marc

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            598
                                            Online

                                            31.9k
                                            Users

                                            80.3k
                                            Topics

                                            1.3m
                                            Posts

                                            nello adapter
                                            20
                                            137
                                            12453
                                            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