NEWS
XML Wert auslesen mit Javascript
-
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.
-
Ich meinte den Intervall im Enigma Adapter
Gesendet von iPhone mit Tapatalk Pro
-
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.
-
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.
-
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
-
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.
-
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]
-
Hi Mathias,
kannst du mir das ummüntzen auf meine Anforderung? Habe keine Anhnung von javascript.
Danke Dir!
Viele Grüße
Sven
-
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'])
-
@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?