Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Erledigt IP Steckdose Koukaam netio 230B

    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

    Erledigt IP Steckdose Koukaam netio 230B

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Arminhh last edited by

      moin moin,

      als einfache Übung wollte ich die Status mit einem HHTP Request von meiner IP Steckdose auslesen. Das Verbinden und holen der Daten funktioniert so weit. Als Message erhalte ich

      1 1 1 1 110 BYE Jetzt wollte ich die erste eins hinter auslesen. Das ist der Status der ersten Steckdose

      msg.payload.slice (6, 1)

      return msg;

      Als Ergebnis kommt aber wieder die gesamte Message.

      Was mache ich falsch?

      Hier noch ein screenshot
      280_screenshot_50.jpg

      Danke für die Hilfe

      Arminhh

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo,

        msg.payload.slice(6,7);

        Stelle 6 bis 7

        Guck mal hier

        https://msdn.microsoft.com/de-de/librar … s.94).aspx

        Gruß

        Pix

        Gesendet von meinem iPhone mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • A
          Arminhh last edited by

          Hallo Pix,

          leider auch kein Erfolg! Es wird noch immer die gesamte Message ausgegeben. Vielleicht noch jemand eine Idee?

          mfg

          Armin

          1 Reply Last reply Reply Quote 0
          • eric2905
            eric2905 last edited by

            Moin,
            @Arminhh:

            als einfache Übung wollte ich die Status mit einem HHTP Request von meiner IP Steckdose auslesen. `
            kannst Du bitte den http-get "anmelden und Status ermitteln" bitte mal posten?

            Ich kämpfe seit Tagen mit meiner IP-Leiste und komme einfach nicht weiter.

            Danke und Gruß,

            Eric

            1 Reply Last reply Reply Quote 0
            • A
              Arminhh last edited by

              moin Eric,

              hier ist der get Befehl

              http://192.168.167.124/tgi/control.tgi? … &quit=quit

              ich hoffe dir damit geholfen zu haben!

              Evt. können wir dann ja hier gemeinsam weiter machen. Wie gesagt ich bekomme nicht den slice Befehl hin!

              Für Tips würde ich mich noch immer freuen!

              mfg

              Armin

              1 Reply Last reply Reply Quote 0
              • B
                Beatz last edited by

                Hallo Arminhh,

                bei Deinem Code wird das slice zwar ausgeführt, jedoch wird mit dem Ergebnis nichts gemacht. Du musst es zurückgeben, in eine neue Variable schreiben o.ä.

                var status = msg.payload.slice(6, 7);

                1 Reply Last reply Reply Quote 0
                • A
                  Arminhh last edited by

                  Hallo Beatz,

                  danke für den Hinweis. Ich habe jetzt

                  var WzStd1 = msg.payload.slice(7,1);

                  return WzStd1;

                  als Ergebnis kommt jetzt (undefined)

                  ist ja doch alles viel schwerer wenn man kein Plan vom Programmieren hat! 😉

                  Für weitere Hinweise bin ich sehr dankbar!

                  mfg

                  Armin

                  1 Reply Last reply Reply Quote 0
                  • P
                    pix last edited by

                    Hallo Armin,
                    @Arminhh:

                    var WzStd1 = msg.payload.slice(7,1);

                    return WzStd1;

                    als Ergebnis kommt jetzt (undefined) `

                    wie hier https://msdn.microsoft.com/de-de/library/tkcsy6fe%28v=vs.94%29.aspx, muss slice mit einem Array gefüttert werden. Das ist hier nicht der Fall. Du wolltest eigentlich den Befehl http://www.w3schools.com/jsref/jsref_substring.asp verwenden.

                    Versuch es mal so:

                    var zeichenkette = "1 1 1 1 110 BYE";
                    var ergebnis = zeichenkette.substring(6,7); // Position 6 (Anfang), Position 7 (Ende des Ausschnitts)
                    log(ergebnis);
                    
                    

                    Gruß

                    Pix

                    1 Reply Last reply Reply Quote 0
                    • B
                      Beatz last edited by

                      Hallo Arminhh,

                      die beiden Parameter von Slice können so nicht funktionieren. Das erste gibt den Start an, das zweite das Ende und muss somit größer sein, als das erste. Versuche es mal mit 7 und 8.

                      Viele Grüße

                      Andreas

                      1 Reply Last reply Reply Quote 0
                      • A
                        Arminhh last edited by

                        hab es gerade hinbekommen.

                        var WzStd1=msg.payload.slice(6,7);

                        msg.payload=WzStd1;

                        return msg;

                        Danke für die Hilfe! Mal sehen ob ich es jetzt schaffe den Wert in IOBroker als Variable zu schreiben!

                        mfg

                        Armin
                        4886_admin_anzeige.jpg

                        1 Reply Last reply Reply Quote 0
                        • A
                          Arminhh last edited by

                          hier wie versprochen der fertige Flow.

                          [{"id":"6e1840a2.91e7c","type":"http request","name":"Anmelden und Status abfragen","method":"GET","ret":"txt","url":"http://192.168.167.124/tgi/control.tgi?login=p:xxxxx:yyyyy&p=list&quit=quit","x":423.6363636363636,"y":82.72727272727272,"z":"47b40718.b84bf8","wires":[["eb101fac.14efe","d177bcef.2e884","38956fff.c76a9","88bda89b.774258"]]},{"id":"d83528c1.27cad8","type":"inject","name":"","topic":"","payload":"","payloadType":"none","repeat":"20","crontab":"","once":false,"x":119.09090805053711,"y":73.63636302947998,"z":"47b40718.b84bf8","wires":[["6e1840a2.91e7c"]]},{"id":"eb101fac.14efe","type":"function","name":"WzIpStd1","func":"var WzStd1=msg.payload.slice(6,7);\nmsg.payload=WzStd1;\nreturn msg;","outputs":1,"noerr":0,"x":767.2727272727273,"y":93.63636363636363,"z":"47b40718.b84bf8","wires":[["804d66b9.7fb298"]]},{"id":"804d66b9.7fb298","type":"ioBroker out","name":"WzIpStd1","topic":"WzIpStd1","ack":"false","autoCreate":"true","x":1182,"y":95,"z":"47b40718.b84bf8","wires":[]},{"id":"7c82b9b7.837d48","type":"ioBroker out","name":"WzIpStd2","topic":"WzIpStd2","ack":"false","autoCreate":"true","x":1176,"y":143,"z":"47b40718.b84bf8","wires":[]},{"id":"d177bcef.2e884","type":"function","name":"WzIpStd2","func":"msg.payload = msg.payload.slice(8,9);\nreturn msg;","outputs":1,"noerr":0,"x":763,"y":130,"z":"47b40718.b84bf8","wires":[["7c82b9b7.837d48"]]},{"id":"38956fff.c76a9","type":"function","name":"WzIpStd3","func":"msg.payload = msg.payload.slice(10,11);\nreturn msg;","outputs":1,"noerr":0,"x":763,"y":167,"z":"47b40718.b84bf8","wires":[["141ad5cc.ebe52a"]]},{"id":"141ad5cc.ebe52a","type":"ioBroker out","name":"WzIpStd3","topic":"WzIpStd3","ack":"false","autoCreate":"true","x":1176,"y":191,"z":"47b40718.b84bf8","wires":[]},{"id":"88bda89b.774258","type":"function","name":"WzIpStd4","func":"msg.payload = msg.payload.slice(12,13);\nreturn msg;","outputs":1,"noerr":0,"x":762,"y":203,"z":"47b40718.b84bf8","wires":[["a816bac5.57e948"]]},{"id":"a816bac5.57e948","type":"ioBroker out","name":"WzIpStd4","topic":"WzIpStd4","ack":"false","autoCreate":"true","x":1173,"y":244,"z":"47b40718.b84bf8","wires":[]}]
                          

                          was ich nicht geschaft habe alles in eine Funktion zu schreiben. Zum Lernen würde ich mich freuen Hinweise zu bekommen

                          280_screenshot_51.jpg

                          mfg

                          Armin

                          1 Reply Last reply Reply Quote 0
                          • D
                            dirkeb last edited by

                            Hallo Armin,

                            habe mehrer NETIO-230B im einsatz, aber bislang noch nicht an die einbindung in ioBRoker gedacht. Habe das Flow bereits Importiert, Funktioniert Supper! 😄

                            Ist das Schalten der Ausgänge auch möglich, bzw. in Planung?

                            Grüße

                            Dirk

                            1 Reply Last reply Reply Quote 0
                            • A
                              Arminhh last edited by

                              Hallo Dirk das geht jetzt schon. Anbei ein Widget das die Steckdose per Link steuert und die Variable als Status!

                              <code>[{"tpl":"tplMetroTileToggle","data":{"oid":"node-red.0.WzIpStd1","visibility-cond":"==","visibility-val":1,"hover":"true","transform":"true","bg_class_false":"bg-gray","bg_class_true":"bg-yellow","icon_class_false":"","icon_class_true":"","icon_badge_false":"","icon_badge_true":"","badge_bg_class_false":"","badge_bg_class_true":"","brand_bg_class_false":"","brand_bg_class_true":"","name":"Standby TV","label_false":"Standby TV OFF","label_true":"Standby TV ON","icon_false":"/icons-mfd-svg/message_socket.svg","icon_true":"/icons-mfd-svg/message_socket.svg","icon_width":"90","icon_height":"90","icon_top":"14","icon_left":"24","urlTrue":"http://192.168.167.124/tgi/control.tgi?login=p:xxxxx:yyyyy&p=1uuu&quit=quit","urlFalse":"http://192.168.167.124/tgi/control.tgi?login=p:admin:admin&p=0uuu&quit=quit","oidTrue":"node-red.0.WzIpStd1","oidFalse":"node-red.0.WzIpStd1","oidTrueValue":"false","oidFalseValue":"true"},"style":{"left":"1760px","top":"160px"},"widgetSet":"metro"}]/code]
                              
                              viel Spaß
                              mfg
                              Armin</code>
                              
                              1 Reply Last reply Reply Quote 0
                              • X
                                XtraLarge71 last edited by

                                Hi,

                                ich habe basierend auf Eurem Script das ganze noch etwas verfeinert. Ich hoffe ich verletzt damit nicht Euer Copyright 😉

                                Im Groben die Opmierungen….

                                Es ist nun eine true/false Variable vorhanden ist über die man die jeweilige Steckdose steuern kann und auf die auch das vis zugreift nun nicht direkt auf das Netio Webinterface.

                                Außerdem ist das ganze durch globale Variablen im Flow konfigurierbar, damit man nicht überall die Daten eingeben muß.

                                Ach ja und fehlerhafte Anfragen werden nun auch abgefangen. Bei nicht erreichbarer Steckdose hat er sonst false angenommen und bei Erreichbarkeit die Steckdose ausgeschaltet.

                                PS: Wenn Ihr die Objektvariable als boolean haben wollt, könnt Ihr den Type einfach im ObjektFenster --> Edit --> Raw (von type "state" auf "boolean" ändern) Node-Red kann das noch nicht festlegen.

                                PPS: Wenn es Euch gefällt würde ich mich über ein "Danke "freuen! 😉
                                6134_netio_flow.txt
                                6134_flow.png
                                6134_netio_vis.txt
                                6134_netio_vis.png

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                651
                                Online

                                31.7k
                                Users

                                79.8k
                                Topics

                                1.3m
                                Posts

                                6
                                14
                                3961
                                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