Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. XML Wert auslesen mit Javascript

    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

    XML Wert auslesen mit Javascript

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

      Hallo,

      ich bin ehrlich und habe keine Ahnung von Javascripten. Ich möchte den Status meiner Dreambox auslesen. Ich habe einen http Link

      http://192.168.178.210/web/powerstate

      Das Ergebnis sieht wie folgt aus:

      ! <e2powerstate><e2instandby>true</e2instandby></e2powerstate>

      Die Dreambox gibt true oder false zurück. Wie sieht ein Script (Java oder Blockly) um den Wert auszulesen?

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

        Läuft auf der Box nicht Enigma SW?

        Funktioniert der Adapter bei dir nicht?

        1 Reply Last reply Reply Quote 0
        • L
          LJSven last edited by

          Der Adapter funktioniert, allerdings generiert er bei mir alle 15 Sekunden die Zahnrädchen, daher möchte ich ein Minimum an Belastung. Ich brauche nur den Standby Wert.

          1 Reply Last reply Reply Quote 0
          • L
            LJSven last edited by

            Kann mir hier jemand helfen?

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

              Kann dir nicht direkt helfen aber hast du dir mal den Parser Adapter angesehen?

              1 Reply Last reply Reply Quote 0
              • L
                LJSven last edited by

                Der Parser ist nett und funktioniert auch, solange das Gerät im Standby ist. Ich schalte die Dreambox aber in der Woche aus, da ich sie nur am Wochenende gebrauche. In diesem Fall kommt immer eine Fehlermeldung vom Parser, daß das Gerät nicht erreichbar ist. Das ist genau der Grund, warum ich ein "eigenes" Script haben möchte.

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

                  OK.

                  Hast du denn im Adapter mal den Poll Intervall erhöht?

                  1 Reply Last reply Reply Quote 0
                  • L
                    LJSven last edited by

                    @wendy2702:

                    Hast du denn im Adapter mal den Poll Intervall erhöht? `

                    Ja, daß habe ich - wenn das Gerät aus ist, kommt ein Warning, daß das Gerät nicht erreichbar ist - ist ja auch vollkommen korrekt. Wenn man den Parser deaktivieren könnte und via Blockly aufrufen kann, wäre es super. Geht aber wohl nicht.

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

                      Ich meinte den Intervall im Enigma Adapter

                      Gesendet von iPhone mit Tapatalk Pro

                      1 Reply Last reply Reply Quote 0
                      • L
                        LJSven last edited by

                        @wendy2702:

                        Ich meinte den Intervall im Enigma Adapter `

                        Max ist 15 Sekunden. Allerdings wäre es die gleiche Situation. Ich möchte nur parsen, pollen, abrufen, wenn die Box überhaut eingeschaltet ist.

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

                          Darf ich mal fragen welche Dreambox das ist und mit welcher SW die läuft?

                          Ich habe drei Enigma2 Receiver, ET9500, VU Duo+, Gigablue Quad und bei keiner erzeugt der Adapter bei Abfrage ein "Zahnrad". Meine Boxen laufen alle mit OpenATV und sind per LAN angebunden.

                          1 Reply Last reply Reply Quote 0
                          • L
                            LJSven last edited by

                            Die Probleme mit dem Zahnrad hab ich auf einer Dreambox 7020 HD - angeschlossen per LAN

                            Gerätebezeichnung: dm7020hd

                            Enigma2 Version: 2016-06-16-tarball

                            Image Version: Newnigma2-daily 2018-04-13

                            Frontprozessor Version: V6

                            Webinterface Version: 1.7.5

                            Der Raspberry (ioBroker) ist aktuell per WLAN eingebunden.

                            ABER -> hier geht es um eine Box (Dreambox 500hd), die nicht immer EINGESCHALTET ist. Ich will nicht meine LOG voll mit unnötigen Fehlermeldungen haben

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

                              Bekommst du bei der Box die nur am WE benutzt wird denn auch das Zahnrad bei der Abfrage?

                              Ich schalte meine Boxen immer aus, jeden Abend (deep standby, also Netzwerk aus) aber der Adapter erzeugt dann keinen Logeintrag.

                              1 Reply Last reply Reply Quote 0
                              • smarthome-tricks.de
                                smarthome-tricks.de last edited by

                                Moin,

                                alternativ kannst Du doch auch das XML-Response mittels einem JavaScript parsen und dafür ein Objekt erstellen.

                                Ich habe das in meiner Scriptsammlung schon mal gezeigt. Im Beispiel wird die XMLAPI von Homematic konsumiert und entsprechende Objekte erstellt.

                                `var link = 'http://192.168.2.104/config/xmlapi/rssilist.cgi';
                                var request = require('request');
                                var parseString = require('xml2js').parseString;`
                                
                                function ImportRSSI()
                                {
                                request(link, function (error, response, body)
                                {
                                var xml, result;
                                
                                parseString(body, function (err, result)
                                {
                                for (var i = 0; i < result.rssiList.rssi.length; i++)
                                {
                                var Device = result.rssiList.rssi[i].$;
                                
                                var DeviceId = Device.device;
                                var DeviceTx = Device.tx;
                                var DeviceRx = Device.rx;
                                
                                createState('HMSignalStrength.'+DeviceId+'.tx', DeviceTx, true);
                                createState('HMSignalStrength.'+DeviceId+'.rx', DeviceRx, true);
                                }
                                });
                                
                                });
                                }
                                
                                ImportRSSI();
                                
                                Vielleicht kann ich Dir damit ja weiterhelfen.
                                
                                Viele Grüße,
                                
                                Matthias[/i]
                                
                                1 Reply Last reply Reply Quote 0
                                • L
                                  LJSven last edited by

                                  Hi Mathias,

                                  kannst du mir das ummüntzen auf meine Anforderung? Habe keine Anhnung von javascript.

                                  Danke Dir!

                                  Viele Grüße

                                  Sven

                                  1 Reply Last reply Reply Quote 0
                                  • Mic
                                    Mic Developer last edited by

                                    Ich nehme zum parsen dieses Script: https://gist.github.com/petersirka/9e79b1d43cf6e579fc62

                                    Damit bekommt man das XML zurück als Array und kann schön darauf zugreifen.

                                    Beispiel:

                                    var parsedArray = parseXML(xml); 
                                    console.log(parsedArray['e2powerstate.e2instandby'])
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      LJSven last edited by

                                      @Mic:

                                      Ich nehme zum parsen dieses Script: https://gist.github.com/petersirka/9e79b1d43cf6e579fc62

                                      Damit bekommt man das XML zurück als Array und kann schön darauf zugreifen.

                                      Beispiel:

                                      var parsedArray = parseXML(xml); 
                                      console.log(parsedArray['e2powerstate.e2instandby'])
                                      ```` `  
                                      

                                      Sorry, bin neu auf dem Gebiet. Muss ich das installieren? Wo gebe ich den Link zur XML ein?

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      868
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      17
                                      1531
                                      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