Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Skripten des E-Control Spritpreisrechners

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.0k

Skripten des E-Control Spritpreisrechners

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascriptmonitoring
292 Beiträge 21 Kommentatoren 45.5k Aufrufe 16 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SmarthomeMFS SmarthomeMF

    Hallo
    Weil das ganze so gut geklappt habe wollte ich gleich mal weiter machen.
    Da mir nur 4 Tankstellen zu wenig sind habe ich das ganze erweitert.
    Im Parser String habe ich 10 Tankstellen drin stehen.
    Also wollte ich sie nützen.
    Im Skript erweitert

    on({id:'parser.0.Sprit'/*Sprit*/, change: 'any'}, function(obj)
    {
        var pricehit_01 = "undefiniert";
        var pricehit_02 = "undefiniert";
        var pricehit_03 = "undefiniert";
        var pricehit_04 = "undefiniert";
        var pricehit_05 = "undefiniert";
        var pricehit_06 = "undefiniert";
        var pricehit_07 = "undefiniert";
        var pricehit_08 = "undefiniert";
        var pricehit_09 = "undefiniert";
        var pricehit_10 = "undefiniert";
        var pricehit_11 = "undefiniert";
        var pricehit_12 = "undefiniert";
        var pricehit_13 = "undefiniert";
        var pricehit_14 = "undefiniert";
        var index = 0;
        var gasStation = JSON.parse(obj.state.val);
        if (gasStation.length === 0) return;
     
        for (index = 0; index < gasStation.length; ++index) {
     
        pricehit_01 = gasStation[0].name + " " + (gasStation[0].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_02 = gasStation[1].name + " " + (gasStation[1].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_03 = gasStation[2].name + " " + (gasStation[2].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_04 = gasStation[3].name + " " + (gasStation[3].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_05 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_06 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_07 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_08 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_09 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_10 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_11 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_12 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_13 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        pricehit_14 = gasStation[4].name + " " + (gasStation[4].prices[0].amount).toString().replace(".",",") + " €";
        }
     
    setState('javascript.0.Sprit.Tankstelle_1'/*Tankstelle 1*/, pricehit_01);
    setState('javascript.0.Sprit.Tankstelle_2'/*Tankstelle 2*/, pricehit_02);
    setState('javascript.0.Sprit.Tankstelle_3'/*Tankstelle 3*/, pricehit_03);
    setState('javascript.0.Sprit.Tankstelle_4'/*Tankstelle 4*/, pricehit_04);
    setState('javascript.0.Sprit.Tankstelle_5'/*Tankstelle 5*/, pricehit_05);
    setState('javascript.0.Sprit.Tankstelle_6'/*Tankstelle 6*/, pricehit_06);
    setState('javascript.0.Sprit.Tankstelle_7'/*Tankstelle 7*/, pricehit_07);
    setState('javascript.0.Sprit.Tankstelle_8'/*Tankstelle 8*/, pricehit_08);
    setState('javascript.0.Sprit.Tankstelle_9'/*Tankstelle 9*/, pricehit_09);
    setState('javascript.0.Sprit.Tankstelle_10'/*Tankstelle 10*/, pricehit_10);
    setState('javascript.0.Sprit.Tankstelle_11'/*Tankstelle 11*/, pricehit_11);
    setState('javascript.0.Sprit.Tankstelle_12'/*Tankstelle 12*/, pricehit_12);
    setState('javascript.0.Sprit.Tankstelle_13'/*Tankstelle 13*/, pricehit_13);
    setState('javascript.0.Sprit.Tankstelle_14'/*Tankstelle 14*/, pricehit_14);
    });
    

    Datenpunkte angelegt
    01.PNG
    Es werden aber nur die Angezeigt was schon waren!
    und im Log eine menge warn

    javascript.0	2019-03-31 09:29:42.153	warn	at TCP.onread (net.js:601:20)
    javascript.0	2019-03-31 09:29:42.153	warn	at Socket.Readable.push (_stream_readable.js:208:10)
    javascript.0	2019-03-31 09:29:42.153	warn	at readableAddChunk (_stream_readable.js:250:11)
    javascript.0	2019-03-31 09:29:42.153	warn	at addChunk (_stream_readable.js:263:12)
    javascript.0	2019-03-31 09:29:42.153	warn	at Socket.emit (events.js:211:7)
    javascript.0	2019-03-31 09:29:42.153	warn	at emitOne (events.js:116:13)
    javascript.0	2019-03-31 09:29:42.153	warn	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
    javascript.0	2019-03-31 09:29:42.153	warn	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
    javascript.0	2019-03-31 09:29:42.153	warn	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
    javascript.0	2019-03-31 09:29:42.153	warn	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
    javascript.0	2019-03-31 09:29:42.153	warn	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
    javascript.0	2019-03-31 09:29:42.153	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
    javascript.0	2019-03-31 09:29:42.153	warn	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
    javascript.0	2019-03-31 09:29:42.153	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
    javascript.0	2019-03-31 09:29:42.153	warn	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
    javascript.0	2019-03-31 09:29:42.153	warn	at WebSocket.emit (events.js:214:7)
    javascript.0	2019-03-31 09:29:42.153	warn	at emitTwo (events.js:126:13)
    javascript.0	2019-03-31 09:29:42.153	warn	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
    javascript.0	2019-03-31 09:29:42.153	warn	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
    javascript.0	2019-03-31 09:29:42.153	warn	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
    javascript.0	2019-03-31 09:29:42.153	warn	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
    javascript.0	2019-03-31 09:29:42.153	warn	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.153	warn	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
    javascript.0	2019-03-31 09:29:42.153	warn	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
    javascript.0	2019-03-31 09:29:42.153	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.153	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.153	warn	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
    javascript.0	2019-03-31 09:29:42.153	warn	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
    javascript.0	2019-03-31 09:29:42.153	warn	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
    javascript.0	2019-03-31 09:29:42.153	warn	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.153	warn	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
    javascript.0	2019-03-31 09:29:42.153	warn	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.153	warn	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.<anonymous> (script.js.common.003_Stromverbrauch.PV_Überschuss_vers_2_1:57:57)
    javascript.0	2019-03-31 09:29:42.152	warn	getState "javascript.0.Datenpunkte.Pool.Pumpe AN / AUS" not found (3)
    javascript.0	2019-03-31 09:29:42.152	warn	at TCP.onread (net.js:601:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.Readable.push (_stream_readable.js:208:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at readableAddChunk (_stream_readable.js:250:11)
    javascript.0	2019-03-31 09:29:42.152	warn	at addChunk (_stream_readable.js:263:12)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.emit (events.js:211:7)
    javascript.0	2019-03-31 09:29:42.152	warn	at emitOne (events.js:116:13)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
    javascript.0	2019-03-31 09:29:42.152	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
    javascript.0	2019-03-31 09:29:42.152	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at WebSocket.emit (events.js:214:7)
    javascript.0	2019-03-31 09:29:42.152	warn	at emitTwo (events.js:126:13)
    javascript.0	2019-03-31 09:29:42.152	warn	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
    javascript.0	2019-03-31 09:29:42.152	warn	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
    javascript.0	2019-03-31 09:29:42.152	warn	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
    javascript.0	2019-03-31 09:29:42.152	warn	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.152	warn	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
    javascript.0	2019-03-31 09:29:42.152	warn	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
    javascript.0	2019-03-31 09:29:42.152	warn	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.152	warn	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
    javascript.0	2019-03-31 09:29:42.152	warn	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
    javascript.0	2019-03-31 09:29:42.152	warn	at Object.<anonymous> (script.js.common.003_Stromverbrauch.PV_Überschuss_vers_2_1:11:580)
    javascript.0	2019-03-31 09:29:42.152	warn	getState "javascript.0.Datenpunkte.Pool.Pumpe AN / AUS" not found (3)
    javascript.0	2019-03-31 09:29:42.152	warn	at TCP.onread (net.js:601:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.Readable.push (_stream_readable.js:208:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at readableAddChunk (_stream_readable.js:250:11)
    javascript.0	2019-03-31 09:29:42.152	warn	at addChunk (_stream_readable.js:263:12)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.emit (events.js:211:7)
    javascript.0	2019-03-31 09:29:42.152	warn	at emitOne (events.js:116:13)
    javascript.0	2019-03-31 09:29:42.152	warn	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
    javascript.0	2019-03-31 09:29:42.152	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
    javascript.0	2019-03-31 09:29:42.152	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
    javascript.0	2019-03-31 09:29:42.152	warn	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
    javascript.0	2019-03-31 09:29:42.152	warn	at WebSocket.emit (events.js:214:7)
    javascript.0	2019-03-31 09:29:42.152	warn	at emitTwo (events.js:126:13)
    javascript.0	2019-03-31 09:29:42.152	warn	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
    javascript.0	2019-03-31 09:29:42.151	warn	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
    javascript.0	2019-03-31 09:29:42.151	warn	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
    javascript.0	2019-03-31 09:29:42.151	warn	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
    javascript.0	2019-03-31 09:29:42.151	warn	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.151	warn	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
    javascript.0	2019-03-31 09:29:42.151	warn	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
    javascript.0	2019-03-31 09:29:42.151	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.151	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.151	warn	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
    javascript.0	2019-03-31 09:29:42.151	warn	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
    javascript.0	2019-03-31 09:29:42.151	warn	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
    javascript.0	2019-03-31 09:29:42.151	warn	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.151	warn	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
    javascript.0	2019-03-31 09:29:42.151	warn	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.151	warn	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.151	warn	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
    javascript.0	2019-03-31 09:29:42.151	warn	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
    javascript.0	2019-03-31 09:29:42.151	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.151	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
    javascript.0	2019-03-31 09:29:42.151	warn	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
    javascript.0	2019-03-31 09:29:42.151	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
    javascript.0	2019-03-31 09:29:42.151	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
    javascript.0	2019-03-31 09:29:42.150	warn	at Object.<anonymous> (script.js.common.003_Stromverbrauch.PV_Überschuss_vers_2_1:11:317)
    javascript.0	2019-03-31 09:29:42.150	warn	getState "javascript.0.Datenpunkte.Pool.Pumpe AN / AUS" not found (3)
    javascript.0	2019-03-31 09:29:42.150	warn	at TCP.onread (net.js:601:20)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.Readable.push (_stream_readable.js:208:10)
    javascript.0	2019-03-31 09:29:42.150	warn	at readableAddChunk (_stream_readable.js:250:11)
    javascript.0	2019-03-31 09:29:42.150	warn	at addChunk (_stream_readable.js:263:12)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.emit (events.js:211:7)
    javascript.0	2019-03-31 09:29:42.150	warn	at emitOne (events.js:116:13)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
    javascript.0	2019-03-31 09:29:42.150	warn	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
    javascript.0	2019-03-31 09:29:42.150	warn	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
    javascript.0	2019-03-31 09:29:42.150	warn	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
    javascript.0	2019-03-31 09:29:42.150	warn	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
    javascript.0	2019-03-31 09:29:42.150	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
    javascript.0	2019-03-31 09:29:42.150	warn	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
    javascript.0	2019-03-31 09:29:42.150	warn	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
    javascript.0	2019-03-31 09:29:42.150	warn	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
    javascript.0	2019-03-31 09:29:42.150	warn	at WebSocket.emit (events.js:214:7)
    javascript.0	2019-03-31 09:29:42.150	warn	at emitTwo (events.js:126:13)
    javascript.0	2019-03-31 09:29:42.150	warn	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
    javascript.0	2019-03-31 09:29:42.150	warn	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
    javascript.0	2019-03-31 09:29:42.150	warn	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
    javascript.0	2019-03-31 09:29:42.150	warn	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
    javascript.0	2019-03-31 09:29:42.150	warn	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.150	warn	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.150	warn	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
    javascript.0	2019-03-31 09:29:42.150	warn	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
    javascript.0	2019-03-31 09:29:42.150	warn	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
    javascript.0	2019-03-31 09:29:42.150	warn	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.150	warn	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
    javascript.0	2019-03-31 09:29:42.150	warn	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.150	warn	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
    javascript.0	2019-03-31 09:29:42.150	warn	at Socket.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:52:30)
    javascript.0	2019-03-31 09:29:42.150	warn	at Object.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
    javascript.0	2019-03-31 09:29:42.150	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
    javascript.0	2019-03-31 09:29:42.150	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
    javascript.0	2019-03-31 09:29:42.150	warn	at Object.<anonymous> (script.js.common.003_Stromverbrauch.PV_Überschuss_vers_2_1:11:52)
    javascript.0	2019-03-31 09:29:42.150	warn	getState "javascript.0.Datenpunkte.Pool.Pumpe AN / AUS" not found (3)
    

    Was heist das?

    metaxaM Offline
    metaxaM Offline
    metaxa
    schrieb am zuletzt editiert von metaxa
    #39

    @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

    Im Parser String habe ich 10 Tankstellen drin stehen.

    Morgääähn!
    Warum machst du dann 14 Felder, im Script und als Datenpunkte?
    Vergleiche mal die Scriptzeilenlogik 23-27 mit deinen neuen Zeilen 28-36!
    Sowie gestern Abend, Script dazu veranlaßt dass es neu ausliest?

    @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

    Was heist das?

    Keine Ahnung, aber da steht in der ältersten Zeile etwas von einer Pool.Pumpe.

    LG, mxa

    P.S.: Haben alle Tankstellen offen? Ich weiß nicht was passiert wenn die Tankstellen geschlossen haben und du in deiner URL die geschlossenen Stellen nicht angezeigt haben willst. Aber irgendwelche 10 Stk. werden wohl schon offen haben.

    1 Antwort Letzte Antwort
    0
    • metaxaM Offline
      metaxaM Offline
      metaxa
      schrieb am zuletzt editiert von metaxa
      #40

      Sodala, hier nun mit jeweiliger Adresse, vielleicht kanns jemand brauchen:

      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      
      //  START SETUP:
      //  finaler Inhalt der Datenpunkte:
      //  1 = name_preis | 2 = name_preis_plz_ort_strasse | 3 = (id_Preis_xx) name_preis & (id_Adresse_xx) PLZ_Ort_Strasse
          var InhaltDP = 2;
      
      //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_01"), müssen manuell erstellt werden
          var id_Preis_01 = "";
          var id_Preis_02 = "";
          var id_Preis_03 = "";
          var id_Preis_04 = "";
          var id_Preis_05 = "";
      
      //  Achtung, wurde oben bei "InhaltDP" 3 ausgewählt (Daten in 2 Felder gesplittet), dann müssen folgende Felder befüllt werden!
      //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_Adresse_01"), müssen manuell erstellt werden
          var id_Adresse_01 = "";
          var id_Adresse_02 = "";
          var id_Adresse_03 = "";
          var id_Adresse_04 = "";
          var id_Adresse_05 = "";
      
      // Ende Setup
      //////////////////////////////////////////////////////////////////////////////////////////////
      
      //////////////////////////////////////////////////////////////////////////////////////////////
      // Eigentliches Script, ab hier nichts mehr ändern
      
      on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
      {
      
      //  Variablen werden mit "" als objekt(string) deklariert, ohne "" als number:
          var pricehit_01 = "undefiniert";
          var pricehit_address_01 = "undefiniert";
          var pricehit_02 = "undefiniert";
          var pricehit_address_02 = "undefiniert";
          var pricehit_03 = "undefiniert";
          var pricehit_address_03 = "undefiniert";
          var pricehit_04 = "undefiniert";
          var pricehit_address_04 = "undefiniert";
          var pricehit_05 = "undefiniert";
          var pricehit_address_05 = "undefiniert";
          var index = 0;
          var gasStation = JSON.parse(obj.state.val);
          
          if (gasStation.length === 0) return;
      
          for (index = 0; index < gasStation.length; ++index) {
      
      //  Variablen werden befüllt:
          pricehit_01 = gasStation[0].name + " € " + (gasStation[0].prices[0].amount).toString().replace(".",",");
          pricehit_address_01 = (gasStation[0].location.postalCode) + " " + (gasStation[0].location.city) + ", " + (gasStation[0].location.address);
          pricehit_02 = gasStation[1].name + " € " + (gasStation[1].prices[0].amount).toString().replace(".",",");
          pricehit_address_02 = (gasStation[1].location.postalCode) + " " + (gasStation[1].location.city) + ", " + (gasStation[1].location.address);
          pricehit_03 = gasStation[2].name + " € " + (gasStation[2].prices[0].amount).toString().replace(".",",");
          pricehit_address_03 = (gasStation[2].location.postalCode) + " " + (gasStation[2].location.city) + ", " + (gasStation[2].location.address);
          pricehit_04 = gasStation[3].name + " € " + (gasStation[3].prices[0].amount).toString().replace(".",",");
          pricehit_address_04 = (gasStation[3].location.postalCode) + " " + (gasStation[3].location.city) + ", " + (gasStation[3].location.address);
          pricehit_05 = gasStation[4].name + " € " + (gasStation[4].prices[0].amount).toString().replace(".",",");
          pricehit_address_05 = (gasStation[4].location.postalCode) + " " + (gasStation[4].location.city) + ", " + (gasStation[4].location.address);
          }
      
      if (InhaltDP == 1) {    //Name und Preis
          setState(id_Preis_01, pricehit_01);
          setState(id_Preis_02, pricehit_02);
          setState(id_Preis_03, pricehit_03);
          setState(id_Preis_04, pricehit_04);
          setState(id_Preis_05, pricehit_05);
      }
      
      if (InhaltDP == 2) {    //Name, Preis und Adresse
          setState(id_Preis_01, pricehit_01 + " - " + pricehit_address_01);
          setState(id_Preis_02, pricehit_02 + " - " + pricehit_address_02);
          setState(id_Preis_03, pricehit_03 + " - " + pricehit_address_03);
          setState(id_Preis_04, pricehit_04 + " - " + pricehit_address_04);
          setState(id_Preis_05, pricehit_05 + " - " + pricehit_address_05);
      }
      
      if (InhaltDP == 3) {    //1.Feld: Name, Preis 2.Feld: Adresse
          setState(id_Preis_01, pricehit_01);
          setState(id_Preis_02, pricehit_02);
          setState(id_Preis_03, pricehit_03);
          setState(id_Preis_04, pricehit_04);
          setState(id_Preis_05, pricehit_05);
          setState(id_Adresse_01, pricehit_address_01);
          setState(id_Adresse_02, pricehit_address_02);
          setState(id_Adresse_03, pricehit_address_03);
          setState(id_Adresse_04, pricehit_address_04);
          setState(id_Adresse_05, pricehit_address_05);
      }
      
      log('Ende Spritvergleich');
      });
      

      Schönen Restsonntag noch!
      LG, mxa

      Edit_01: Optische Korrekturen durchgeführt

      1 Antwort Letzte Antwort
      2
      • SmarthomeMFS Offline
        SmarthomeMFS Offline
        SmarthomeMF
        schrieb am zuletzt editiert von
        #41

        Ich bin einfach zu blöd für Java!!
        Bekomme das nicht zum laufen.
        Das erste Skript hat ein mal die Daten abgefragt und das wars dann.
        Es läuft nicht mehr!!
        Nun habe ich das neue ausprobiert!!
        Es werden keine Daten übertragen.
        Mein Skript

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         
        //  START SETUP:
        //  finaler Inhalt der Datenpunkte:
        //  1 = name_preis | 2 = name_preis_plz_ort_strasse | 3 = (id_Preis_xx) name_preis & (id_Adresse_xx) PLZ_Ort_Strasse
            var InhaltDP = 3;
         
        //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_01"), müssen manuell erstellt werden
            var id_Preis_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle1'/*Tankstelle1*/;
            var id_Preis_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle2'/*Tankstelle2*/;
            var id_Preis_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle3'/*Tankstelle3*/;
            var id_Preis_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle4'/*Tankstelle4*/;
            var id_Preis_05 = "'javascript.0.Treibstoffpreise.Benzin.Tankstelle5'/*Tankstelle5*/";
         
        //  Achtung, wurde oben bei "InhaltDP" 3 ausgewählt (Daten in 2 Felder gesplittet), dann müssen folgende Felder befüllt werden!
        //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_Adresse_01"), müssen manuell erstellt werden
            var id_Adresse_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_1_Adresse_1'/*Tankstelle 1 Adresse 1*/;
            var id_Adresse_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_2_Adresse_2'/*Tankstelle 2 Adresse 2*/;
            var id_Adresse_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_3_Adresse_3'/*Tankstelle 3 Adresse 3*/;
            var id_Adresse_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_4_Adresse_4'/*Tankstelle 4 Adresse 4*/;
            var id_Adresse_05 = "'javascript.0.Treibstoffpreise.Benzin.Tankstelle_5_Adresse_5'/*Tankstelle 5 Adresse 5*/";
         
        // Ende Setup
        //////////////////////////////////////////////////////////////////////////////////////////////
         
        //////////////////////////////////////////////////////////////////////////////////////////////
        // Eigentliches Script, ab hier nichts mehr ändern
         
        on({id: 'parser.0.Sprit'/*Sprit*/, change: 'any'}, function(obj)
        {
         
        //  Variablen werden mit "" als objekt(string) deklariert, ohne "" als number:
            var pricehit_01 = "undefiniert";
            var pricehit_address_01 = "undefiniert";
            var pricehit_02 = "undefiniert";
            var pricehit_address_02 = "undefiniert";
            var pricehit_03 = "undefiniert";
            var pricehit_address_03 = "undefiniert";
            var pricehit_04 = "undefiniert";
            var pricehit_address_04 = "undefiniert";
            var pricehit_05 = "undefiniert";
            var pricehit_address_05 = "undefiniert";
            var index = 0;
            var gasStation = JSON.parse(obj.state.val);
            
            if (gasStation.length === 0) return;
         
            for (index = 0; index < gasStation.length; ++index) {
         
        //  Variablen werden befüllt:
            pricehit_01 = gasStation[0].name + " € " + (gasStation[0].prices[0].amount).toString().replace(".",",");
            pricehit_address_01 = (gasStation[0].location.postalCode) + " " + (gasStation[0].location.city) + ", " + (gasStation[0].location.address);
            pricehit_02 = gasStation[1].name + " € " + (gasStation[1].prices[0].amount).toString().replace(".",",");
            pricehit_address_02 = (gasStation[1].location.postalCode) + " " + (gasStation[1].location.city) + ", " + (gasStation[1].location.address);
            pricehit_03 = gasStation[2].name + " € " + (gasStation[2].prices[0].amount).toString().replace(".",",");
            pricehit_address_03 = (gasStation[2].location.postalCode) + " " + (gasStation[2].location.city) + ", " + (gasStation[2].location.address);
            pricehit_04 = gasStation[3].name + " € " + (gasStation[3].prices[0].amount).toString().replace(".",",");
            pricehit_address_04 = (gasStation[3].location.postalCode) + " " + (gasStation[3].location.city) + ", " + (gasStation[3].location.address);
            pricehit_05 = gasStation[4].name + " € " + (gasStation[4].prices[0].amount).toString().replace(".",",");
            pricehit_address_05 = (gasStation[4].location.postalCode) + " " + (gasStation[4].location.city) + ", " + (gasStation[4].location.address);
            }
         
        if (InhaltDP == 1) {    //Name und Preis
            setState(id_Preis_01, pricehit_01);
            setState(id_Preis_02, pricehit_02);
            setState(id_Preis_03, pricehit_03);
            setState(id_Preis_04, pricehit_04);
            setState(id_Preis_05, pricehit_05);
        }
         
        if (InhaltDP == 2) {    //Name, Preis und Adresse
            setState(id_Preis_01, pricehit_01 + " - " + pricehit_address_01);
            setState(id_Preis_02, pricehit_02 + " - " + pricehit_address_02);
            setState(id_Preis_03, pricehit_03 + " - " + pricehit_address_03);
            setState(id_Preis_04, pricehit_04 + " - " + pricehit_address_04);
            setState(id_Preis_05, pricehit_05 + " - " + pricehit_address_05);
        }
         
        if (InhaltDP == 3) {    //1.Feld: Name, Preis 2.Feld: Adresse
            setState(id_Preis_01, pricehit_01);
            setState(id_Preis_02, pricehit_02);
            setState(id_Preis_03, pricehit_03);
            setState(id_Preis_04, pricehit_04);
            setState(id_Preis_05, pricehit_05);
            setState(id_Adresse_01, pricehit_address_01);
            setState(id_Adresse_02, pricehit_address_02);
            setState(id_Adresse_03, pricehit_address_03);
            setState(id_Adresse_04, pricehit_address_04);
            setState(id_Adresse_05, pricehit_address_05);
        }
         
        log('Ende Spritvergleich');
        });
        

        Die Datenpunkte sind da! aber bleiben leer
        001.PNG ```
        wo habe ich da einen murks gemacht.

        Max

        ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
        Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

        NegaleinN 1 Antwort Letzte Antwort
        0
        • SmarthomeMFS SmarthomeMF

          Ich bin einfach zu blöd für Java!!
          Bekomme das nicht zum laufen.
          Das erste Skript hat ein mal die Daten abgefragt und das wars dann.
          Es läuft nicht mehr!!
          Nun habe ich das neue ausprobiert!!
          Es werden keine Daten übertragen.
          Mein Skript

          ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
           
          //  START SETUP:
          //  finaler Inhalt der Datenpunkte:
          //  1 = name_preis | 2 = name_preis_plz_ort_strasse | 3 = (id_Preis_xx) name_preis & (id_Adresse_xx) PLZ_Ort_Strasse
              var InhaltDP = 3;
           
          //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_01"), müssen manuell erstellt werden
              var id_Preis_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle1'/*Tankstelle1*/;
              var id_Preis_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle2'/*Tankstelle2*/;
              var id_Preis_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle3'/*Tankstelle3*/;
              var id_Preis_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle4'/*Tankstelle4*/;
              var id_Preis_05 = "'javascript.0.Treibstoffpreise.Benzin.Tankstelle5'/*Tankstelle5*/";
           
          //  Achtung, wurde oben bei "InhaltDP" 3 ausgewählt (Daten in 2 Felder gesplittet), dann müssen folgende Felder befüllt werden!
          //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_Adresse_01"), müssen manuell erstellt werden
              var id_Adresse_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_1_Adresse_1'/*Tankstelle 1 Adresse 1*/;
              var id_Adresse_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_2_Adresse_2'/*Tankstelle 2 Adresse 2*/;
              var id_Adresse_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_3_Adresse_3'/*Tankstelle 3 Adresse 3*/;
              var id_Adresse_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_4_Adresse_4'/*Tankstelle 4 Adresse 4*/;
              var id_Adresse_05 = "'javascript.0.Treibstoffpreise.Benzin.Tankstelle_5_Adresse_5'/*Tankstelle 5 Adresse 5*/";
           
          // Ende Setup
          //////////////////////////////////////////////////////////////////////////////////////////////
           
          //////////////////////////////////////////////////////////////////////////////////////////////
          // Eigentliches Script, ab hier nichts mehr ändern
           
          on({id: 'parser.0.Sprit'/*Sprit*/, change: 'any'}, function(obj)
          {
           
          //  Variablen werden mit "" als objekt(string) deklariert, ohne "" als number:
              var pricehit_01 = "undefiniert";
              var pricehit_address_01 = "undefiniert";
              var pricehit_02 = "undefiniert";
              var pricehit_address_02 = "undefiniert";
              var pricehit_03 = "undefiniert";
              var pricehit_address_03 = "undefiniert";
              var pricehit_04 = "undefiniert";
              var pricehit_address_04 = "undefiniert";
              var pricehit_05 = "undefiniert";
              var pricehit_address_05 = "undefiniert";
              var index = 0;
              var gasStation = JSON.parse(obj.state.val);
              
              if (gasStation.length === 0) return;
           
              for (index = 0; index < gasStation.length; ++index) {
           
          //  Variablen werden befüllt:
              pricehit_01 = gasStation[0].name + " € " + (gasStation[0].prices[0].amount).toString().replace(".",",");
              pricehit_address_01 = (gasStation[0].location.postalCode) + " " + (gasStation[0].location.city) + ", " + (gasStation[0].location.address);
              pricehit_02 = gasStation[1].name + " € " + (gasStation[1].prices[0].amount).toString().replace(".",",");
              pricehit_address_02 = (gasStation[1].location.postalCode) + " " + (gasStation[1].location.city) + ", " + (gasStation[1].location.address);
              pricehit_03 = gasStation[2].name + " € " + (gasStation[2].prices[0].amount).toString().replace(".",",");
              pricehit_address_03 = (gasStation[2].location.postalCode) + " " + (gasStation[2].location.city) + ", " + (gasStation[2].location.address);
              pricehit_04 = gasStation[3].name + " € " + (gasStation[3].prices[0].amount).toString().replace(".",",");
              pricehit_address_04 = (gasStation[3].location.postalCode) + " " + (gasStation[3].location.city) + ", " + (gasStation[3].location.address);
              pricehit_05 = gasStation[4].name + " € " + (gasStation[4].prices[0].amount).toString().replace(".",",");
              pricehit_address_05 = (gasStation[4].location.postalCode) + " " + (gasStation[4].location.city) + ", " + (gasStation[4].location.address);
              }
           
          if (InhaltDP == 1) {    //Name und Preis
              setState(id_Preis_01, pricehit_01);
              setState(id_Preis_02, pricehit_02);
              setState(id_Preis_03, pricehit_03);
              setState(id_Preis_04, pricehit_04);
              setState(id_Preis_05, pricehit_05);
          }
           
          if (InhaltDP == 2) {    //Name, Preis und Adresse
              setState(id_Preis_01, pricehit_01 + " - " + pricehit_address_01);
              setState(id_Preis_02, pricehit_02 + " - " + pricehit_address_02);
              setState(id_Preis_03, pricehit_03 + " - " + pricehit_address_03);
              setState(id_Preis_04, pricehit_04 + " - " + pricehit_address_04);
              setState(id_Preis_05, pricehit_05 + " - " + pricehit_address_05);
          }
           
          if (InhaltDP == 3) {    //1.Feld: Name, Preis 2.Feld: Adresse
              setState(id_Preis_01, pricehit_01);
              setState(id_Preis_02, pricehit_02);
              setState(id_Preis_03, pricehit_03);
              setState(id_Preis_04, pricehit_04);
              setState(id_Preis_05, pricehit_05);
              setState(id_Adresse_01, pricehit_address_01);
              setState(id_Adresse_02, pricehit_address_02);
              setState(id_Adresse_03, pricehit_address_03);
              setState(id_Adresse_04, pricehit_address_04);
              setState(id_Adresse_05, pricehit_address_05);
          }
           
          log('Ende Spritvergleich');
          });
          

          Die Datenpunkte sind da! aber bleiben leer
          001.PNG ```
          wo habe ich da einen murks gemacht.

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb am zuletzt editiert von Negalein
          #42

          @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

          wo habe ich da einen murks gemacht.

          hast du im Parser wieder auf JSON retour gestellt?

          Im Script hast du jeweils 5 Datenpunkte, aber angelegt hast du jeweils 9 Datenpunkte.

          ° Node.js: 20.17.0 NPM: 10.8.2
          ° Proxmox, Ubuntu 22.04.3 LTS
          ° Fixer ---> iob fix

          1 Antwort Letzte Antwort
          0
          • SmarthomeMFS Offline
            SmarthomeMFS Offline
            SmarthomeMF
            schrieb am zuletzt editiert von
            #43

            @Negalein sagte in Skripten des E-Control Spritpreisrechners:

            hast du im Parser wieder auf JSON retour gestellt?

            ja

            @Negalein sagte in Skripten des E-Control Spritpreisrechners:

            Im Script hast du jeweils 5 Datenpunkte, aber angelegt hast du jeweils 9 Datenpunkte.

            ja ich möchte 9 Tankstellen angezeigt bekommen.
            aber ich bin schon den halben tag am Probieren......

            Ich hatte das Skript schon fertig für 9 Tankstellen.
            nun habe ich das Skript gelöscht und noch mal mit von vorne begonnen.
            Dafür habe ich im Skript nur 4 Werte eingetragen.......
            Aber während dem ganzen probieren haben sich die 4 Werte nun doch eingetragen.....
            also dachte ich perfekt dann kann ich weiter machen und habe noch zwei Datenpunkte im Skript ergänzt.
            Wie schon vorhin werden die Daten nun wieder nicht mehr aktualisiert!!
            Was mach ich FALSCH?
            nochmal mein Skript

            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
             
            //  START SETUP:
            //  finaler Inhalt der Datenpunkte:
            //  1 = name_preis | 2 = name_preis_plz_ort_strasse | 3 = (id_Preis_xx) name_preis & (id_Adresse_xx) PLZ_Ort_Strasse
                var InhaltDP = 3;
             
            //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_01"), müssen manuell erstellt werden
                var id_Preis_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle1'/*Tankstelle1*/;
                var id_Preis_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle2'/*Tankstelle2*/;
                var id_Preis_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle3'/*Tankstelle3*/;
                var id_Preis_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle4'/*Tankstelle4*/;
                var id_Preis_05 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle5'/*Tankstelle5*/;
                var id_Preis_06 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle6'/*Tankstelle6*/;
             
            //  Achtung, wurde oben bei "InhaltDP" 3 ausgewählt (Daten in 2 Felder gesplittet), dann müssen folgende Felder befüllt werden!
            //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_Adresse_01"), müssen manuell erstellt werden
                var id_Adresse_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_1_Adresse_1'/*Tankstelle 1 Adresse 1*/;
                var id_Adresse_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_2_Adresse_2'/*Tankstelle 2 Adresse 2*/;
                var id_Adresse_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_3_Adresse_3'/*Tankstelle 3 Adresse 3*/;
                var id_Adresse_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_4_Adresse_4'/*Tankstelle 4 Adresse 4*/;
                var id_Adresse_05 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_5_Adresse_5'/*Tankstelle 5 Adresse 5*/;
                var id_Adresse_06 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_6_Adresse_6'/*Tankstelle 6 Adresse 6*/;
             
            // Ende Setup
            //////////////////////////////////////////////////////////////////////////////////////////////
             
            //////////////////////////////////////////////////////////////////////////////////////////////
            // Eigentliches Script, ab hier nichts mehr ändern
             
            on({id: 'parser.0.Sprit'/*Sprit*/, change: 'any'}, function(obj)
            {
             
            //  Variablen werden mit "" als objekt(string) deklariert, ohne "" als number:
                var pricehit_01 = "undefiniert";
                var pricehit_address_01 = "undefiniert";
                var pricehit_02 = "undefiniert";
                var pricehit_address_02 = "undefiniert";
                var pricehit_03 = "undefiniert";
                var pricehit_address_03 = "undefiniert";
                var pricehit_04 = "undefiniert";
                var pricehit_address_04 = "undefiniert";
                var pricehit_05 = "undefiniert";
                var pricehit_address_05 = "undefiniert";
                var pricehit_06 = "undefiniert";
                var pricehit_address_06 = "undefiniert";
                var index = 0;
                var gasStation = JSON.parse(obj.state.val);
                
                if (gasStation.length === 0) return;
             
                for (index = 0; index < gasStation.length; ++index) {
             
            //  Variablen werden befüllt:
                pricehit_01 = gasStation[0].name + " € " + (gasStation[0].prices[0].amount).toString().replace(".",",");
                pricehit_address_01 = (gasStation[0].location.postalCode) + " " + (gasStation[0].location.city) + ", " + (gasStation[0].location.address);
                pricehit_02 = gasStation[1].name + " € " + (gasStation[1].prices[0].amount).toString().replace(".",",");
                pricehit_address_02 = (gasStation[1].location.postalCode) + " " + (gasStation[1].location.city) + ", " + (gasStation[1].location.address);
                pricehit_03 = gasStation[2].name + " € " + (gasStation[2].prices[0].amount).toString().replace(".",",");
                pricehit_address_03 = (gasStation[2].location.postalCode) + " " + (gasStation[2].location.city) + ", " + (gasStation[2].location.address);
                pricehit_04 = gasStation[3].name + " € " + (gasStation[3].prices[0].amount).toString().replace(".",",");
                pricehit_address_04 = (gasStation[3].location.postalCode) + " " + (gasStation[3].location.city) + ", " + (gasStation[3].location.address);
                pricehit_05 = gasStation[4].name + " € " + (gasStation[4].prices[0].amount).toString().replace(".",",");
                pricehit_address_05 = (gasStation[4].location.postalCode) + " " + (gasStation[4].location.city) + ", " + (gasStation[4].location.address);
                pricehit_06 = gasStation[5].name + " € " + (gasStation[5].prices[0].amount).toString().replace(".",",");
                pricehit_address_06 = (gasStation[5].location.postalCode) + " " + (gasStation[5].location.city) + ", " + (gasStation[5].location.address);
                }
             
            if (InhaltDP == 1) {    //Name und Preis
                setState(id_Preis_01, pricehit_01);
                setState(id_Preis_02, pricehit_02);
                setState(id_Preis_03, pricehit_03);
                setState(id_Preis_04, pricehit_04);
                setState(id_Preis_05, pricehit_05);
                setState(id_Preis_06, pricehit_06);
            }
             
            if (InhaltDP == 2) {    //Name, Preis und Adresse
                setState(id_Preis_01, pricehit_01 + " - " + pricehit_address_01);
                setState(id_Preis_02, pricehit_02 + " - " + pricehit_address_02);
                setState(id_Preis_03, pricehit_03 + " - " + pricehit_address_03);
                setState(id_Preis_04, pricehit_04 + " - " + pricehit_address_04);
                setState(id_Preis_05, pricehit_05 + " - " + pricehit_address_05);
                setState(id_Preis_06, pricehit_06 + " - " + pricehit_address_06);
            }
             
            if (InhaltDP == 3) {    //1.Feld: Name, Preis 2.Feld: Adresse
                setState(id_Preis_01, pricehit_01);
                setState(id_Preis_02, pricehit_02);
                setState(id_Preis_03, pricehit_03);
                setState(id_Preis_04, pricehit_04);
                setState(id_Preis_05, pricehit_05);
                setState(id_Preis_06, pricehit_06);
                setState(id_Adresse_01, pricehit_address_01);
                setState(id_Adresse_02, pricehit_address_02);
                setState(id_Adresse_03, pricehit_address_03);
                setState(id_Adresse_04, pricehit_address_04);
                setState(id_Adresse_05, pricehit_address_05);
                setState(id_Adresse_06, pricehit_address_06);
            }
             
            log('Ende Spritvergleich');
            });
            

            und im Log auch alles OK

            javascript.0	2019-04-01 18:49:58.542	info	script.js.common.Treibstoffpreise_1: registered 1 subscription and 0 schedules
            javascript.0	2019-04-01 18:49:58.537	info	Start javascript script.js.common.Treibstoffpreise_1
            javascript.0	2019-04-01 18:49:54.686	info	Stop script script.js.common.Treibstoffpreise_1
            javascript.0	2019-04-01 18:49:39.926	info	Stop script script.js.common.Treibstoffpreise_1
            

            Max

            ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
            Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

            G NegaleinN 2 Antworten Letzte Antwort
            0
            • SmarthomeMFS SmarthomeMF

              @Negalein sagte in Skripten des E-Control Spritpreisrechners:

              hast du im Parser wieder auf JSON retour gestellt?

              ja

              @Negalein sagte in Skripten des E-Control Spritpreisrechners:

              Im Script hast du jeweils 5 Datenpunkte, aber angelegt hast du jeweils 9 Datenpunkte.

              ja ich möchte 9 Tankstellen angezeigt bekommen.
              aber ich bin schon den halben tag am Probieren......

              Ich hatte das Skript schon fertig für 9 Tankstellen.
              nun habe ich das Skript gelöscht und noch mal mit von vorne begonnen.
              Dafür habe ich im Skript nur 4 Werte eingetragen.......
              Aber während dem ganzen probieren haben sich die 4 Werte nun doch eingetragen.....
              also dachte ich perfekt dann kann ich weiter machen und habe noch zwei Datenpunkte im Skript ergänzt.
              Wie schon vorhin werden die Daten nun wieder nicht mehr aktualisiert!!
              Was mach ich FALSCH?
              nochmal mein Skript

              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
               
              //  START SETUP:
              //  finaler Inhalt der Datenpunkte:
              //  1 = name_preis | 2 = name_preis_plz_ort_strasse | 3 = (id_Preis_xx) name_preis & (id_Adresse_xx) PLZ_Ort_Strasse
                  var InhaltDP = 3;
               
              //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_01"), müssen manuell erstellt werden
                  var id_Preis_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle1'/*Tankstelle1*/;
                  var id_Preis_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle2'/*Tankstelle2*/;
                  var id_Preis_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle3'/*Tankstelle3*/;
                  var id_Preis_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle4'/*Tankstelle4*/;
                  var id_Preis_05 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle5'/*Tankstelle5*/;
                  var id_Preis_06 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle6'/*Tankstelle6*/;
               
              //  Achtung, wurde oben bei "InhaltDP" 3 ausgewählt (Daten in 2 Felder gesplittet), dann müssen folgende Felder befüllt werden!
              //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_Adresse_01"), müssen manuell erstellt werden
                  var id_Adresse_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_1_Adresse_1'/*Tankstelle 1 Adresse 1*/;
                  var id_Adresse_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_2_Adresse_2'/*Tankstelle 2 Adresse 2*/;
                  var id_Adresse_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_3_Adresse_3'/*Tankstelle 3 Adresse 3*/;
                  var id_Adresse_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_4_Adresse_4'/*Tankstelle 4 Adresse 4*/;
                  var id_Adresse_05 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_5_Adresse_5'/*Tankstelle 5 Adresse 5*/;
                  var id_Adresse_06 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_6_Adresse_6'/*Tankstelle 6 Adresse 6*/;
               
              // Ende Setup
              //////////////////////////////////////////////////////////////////////////////////////////////
               
              //////////////////////////////////////////////////////////////////////////////////////////////
              // Eigentliches Script, ab hier nichts mehr ändern
               
              on({id: 'parser.0.Sprit'/*Sprit*/, change: 'any'}, function(obj)
              {
               
              //  Variablen werden mit "" als objekt(string) deklariert, ohne "" als number:
                  var pricehit_01 = "undefiniert";
                  var pricehit_address_01 = "undefiniert";
                  var pricehit_02 = "undefiniert";
                  var pricehit_address_02 = "undefiniert";
                  var pricehit_03 = "undefiniert";
                  var pricehit_address_03 = "undefiniert";
                  var pricehit_04 = "undefiniert";
                  var pricehit_address_04 = "undefiniert";
                  var pricehit_05 = "undefiniert";
                  var pricehit_address_05 = "undefiniert";
                  var pricehit_06 = "undefiniert";
                  var pricehit_address_06 = "undefiniert";
                  var index = 0;
                  var gasStation = JSON.parse(obj.state.val);
                  
                  if (gasStation.length === 0) return;
               
                  for (index = 0; index < gasStation.length; ++index) {
               
              //  Variablen werden befüllt:
                  pricehit_01 = gasStation[0].name + " € " + (gasStation[0].prices[0].amount).toString().replace(".",",");
                  pricehit_address_01 = (gasStation[0].location.postalCode) + " " + (gasStation[0].location.city) + ", " + (gasStation[0].location.address);
                  pricehit_02 = gasStation[1].name + " € " + (gasStation[1].prices[0].amount).toString().replace(".",",");
                  pricehit_address_02 = (gasStation[1].location.postalCode) + " " + (gasStation[1].location.city) + ", " + (gasStation[1].location.address);
                  pricehit_03 = gasStation[2].name + " € " + (gasStation[2].prices[0].amount).toString().replace(".",",");
                  pricehit_address_03 = (gasStation[2].location.postalCode) + " " + (gasStation[2].location.city) + ", " + (gasStation[2].location.address);
                  pricehit_04 = gasStation[3].name + " € " + (gasStation[3].prices[0].amount).toString().replace(".",",");
                  pricehit_address_04 = (gasStation[3].location.postalCode) + " " + (gasStation[3].location.city) + ", " + (gasStation[3].location.address);
                  pricehit_05 = gasStation[4].name + " € " + (gasStation[4].prices[0].amount).toString().replace(".",",");
                  pricehit_address_05 = (gasStation[4].location.postalCode) + " " + (gasStation[4].location.city) + ", " + (gasStation[4].location.address);
                  pricehit_06 = gasStation[5].name + " € " + (gasStation[5].prices[0].amount).toString().replace(".",",");
                  pricehit_address_06 = (gasStation[5].location.postalCode) + " " + (gasStation[5].location.city) + ", " + (gasStation[5].location.address);
                  }
               
              if (InhaltDP == 1) {    //Name und Preis
                  setState(id_Preis_01, pricehit_01);
                  setState(id_Preis_02, pricehit_02);
                  setState(id_Preis_03, pricehit_03);
                  setState(id_Preis_04, pricehit_04);
                  setState(id_Preis_05, pricehit_05);
                  setState(id_Preis_06, pricehit_06);
              }
               
              if (InhaltDP == 2) {    //Name, Preis und Adresse
                  setState(id_Preis_01, pricehit_01 + " - " + pricehit_address_01);
                  setState(id_Preis_02, pricehit_02 + " - " + pricehit_address_02);
                  setState(id_Preis_03, pricehit_03 + " - " + pricehit_address_03);
                  setState(id_Preis_04, pricehit_04 + " - " + pricehit_address_04);
                  setState(id_Preis_05, pricehit_05 + " - " + pricehit_address_05);
                  setState(id_Preis_06, pricehit_06 + " - " + pricehit_address_06);
              }
               
              if (InhaltDP == 3) {    //1.Feld: Name, Preis 2.Feld: Adresse
                  setState(id_Preis_01, pricehit_01);
                  setState(id_Preis_02, pricehit_02);
                  setState(id_Preis_03, pricehit_03);
                  setState(id_Preis_04, pricehit_04);
                  setState(id_Preis_05, pricehit_05);
                  setState(id_Preis_06, pricehit_06);
                  setState(id_Adresse_01, pricehit_address_01);
                  setState(id_Adresse_02, pricehit_address_02);
                  setState(id_Adresse_03, pricehit_address_03);
                  setState(id_Adresse_04, pricehit_address_04);
                  setState(id_Adresse_05, pricehit_address_05);
                  setState(id_Adresse_06, pricehit_address_06);
              }
               
              log('Ende Spritvergleich');
              });
              

              und im Log auch alles OK

              javascript.0	2019-04-01 18:49:58.542	info	script.js.common.Treibstoffpreise_1: registered 1 subscription and 0 schedules
              javascript.0	2019-04-01 18:49:58.537	info	Start javascript script.js.common.Treibstoffpreise_1
              javascript.0	2019-04-01 18:49:54.686	info	Stop script script.js.common.Treibstoffpreise_1
              javascript.0	2019-04-01 18:49:39.926	info	Stop script script.js.common.Treibstoffpreise_1
              
              G Offline
              G Offline
              Georgius
              schrieb am zuletzt editiert von
              #44

              @SmarthomeMF Zeig mal die Einstellungen im Parseradapter

              1 Antwort Letzte Antwort
              0
              • SmarthomeMFS SmarthomeMF

                @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                hast du im Parser wieder auf JSON retour gestellt?

                ja

                @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                Im Script hast du jeweils 5 Datenpunkte, aber angelegt hast du jeweils 9 Datenpunkte.

                ja ich möchte 9 Tankstellen angezeigt bekommen.
                aber ich bin schon den halben tag am Probieren......

                Ich hatte das Skript schon fertig für 9 Tankstellen.
                nun habe ich das Skript gelöscht und noch mal mit von vorne begonnen.
                Dafür habe ich im Skript nur 4 Werte eingetragen.......
                Aber während dem ganzen probieren haben sich die 4 Werte nun doch eingetragen.....
                also dachte ich perfekt dann kann ich weiter machen und habe noch zwei Datenpunkte im Skript ergänzt.
                Wie schon vorhin werden die Daten nun wieder nicht mehr aktualisiert!!
                Was mach ich FALSCH?
                nochmal mein Skript

                ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                 
                //  START SETUP:
                //  finaler Inhalt der Datenpunkte:
                //  1 = name_preis | 2 = name_preis_plz_ort_strasse | 3 = (id_Preis_xx) name_preis & (id_Adresse_xx) PLZ_Ort_Strasse
                    var InhaltDP = 3;
                 
                //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_01"), müssen manuell erstellt werden
                    var id_Preis_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle1'/*Tankstelle1*/;
                    var id_Preis_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle2'/*Tankstelle2*/;
                    var id_Preis_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle3'/*Tankstelle3*/;
                    var id_Preis_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle4'/*Tankstelle4*/;
                    var id_Preis_05 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle5'/*Tankstelle5*/;
                    var id_Preis_06 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle6'/*Tankstelle6*/;
                 
                //  Achtung, wurde oben bei "InhaltDP" 3 ausgewählt (Daten in 2 Felder gesplittet), dann müssen folgende Felder befüllt werden!
                //  Datenpunktadressen vollständig eintragen (z.B."javascript.0.Aktueller_Spritpreis_Adresse_01"), müssen manuell erstellt werden
                    var id_Adresse_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_1_Adresse_1'/*Tankstelle 1 Adresse 1*/;
                    var id_Adresse_02 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_2_Adresse_2'/*Tankstelle 2 Adresse 2*/;
                    var id_Adresse_03 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_3_Adresse_3'/*Tankstelle 3 Adresse 3*/;
                    var id_Adresse_04 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_4_Adresse_4'/*Tankstelle 4 Adresse 4*/;
                    var id_Adresse_05 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_5_Adresse_5'/*Tankstelle 5 Adresse 5*/;
                    var id_Adresse_06 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle_6_Adresse_6'/*Tankstelle 6 Adresse 6*/;
                 
                // Ende Setup
                //////////////////////////////////////////////////////////////////////////////////////////////
                 
                //////////////////////////////////////////////////////////////////////////////////////////////
                // Eigentliches Script, ab hier nichts mehr ändern
                 
                on({id: 'parser.0.Sprit'/*Sprit*/, change: 'any'}, function(obj)
                {
                 
                //  Variablen werden mit "" als objekt(string) deklariert, ohne "" als number:
                    var pricehit_01 = "undefiniert";
                    var pricehit_address_01 = "undefiniert";
                    var pricehit_02 = "undefiniert";
                    var pricehit_address_02 = "undefiniert";
                    var pricehit_03 = "undefiniert";
                    var pricehit_address_03 = "undefiniert";
                    var pricehit_04 = "undefiniert";
                    var pricehit_address_04 = "undefiniert";
                    var pricehit_05 = "undefiniert";
                    var pricehit_address_05 = "undefiniert";
                    var pricehit_06 = "undefiniert";
                    var pricehit_address_06 = "undefiniert";
                    var index = 0;
                    var gasStation = JSON.parse(obj.state.val);
                    
                    if (gasStation.length === 0) return;
                 
                    for (index = 0; index < gasStation.length; ++index) {
                 
                //  Variablen werden befüllt:
                    pricehit_01 = gasStation[0].name + " € " + (gasStation[0].prices[0].amount).toString().replace(".",",");
                    pricehit_address_01 = (gasStation[0].location.postalCode) + " " + (gasStation[0].location.city) + ", " + (gasStation[0].location.address);
                    pricehit_02 = gasStation[1].name + " € " + (gasStation[1].prices[0].amount).toString().replace(".",",");
                    pricehit_address_02 = (gasStation[1].location.postalCode) + " " + (gasStation[1].location.city) + ", " + (gasStation[1].location.address);
                    pricehit_03 = gasStation[2].name + " € " + (gasStation[2].prices[0].amount).toString().replace(".",",");
                    pricehit_address_03 = (gasStation[2].location.postalCode) + " " + (gasStation[2].location.city) + ", " + (gasStation[2].location.address);
                    pricehit_04 = gasStation[3].name + " € " + (gasStation[3].prices[0].amount).toString().replace(".",",");
                    pricehit_address_04 = (gasStation[3].location.postalCode) + " " + (gasStation[3].location.city) + ", " + (gasStation[3].location.address);
                    pricehit_05 = gasStation[4].name + " € " + (gasStation[4].prices[0].amount).toString().replace(".",",");
                    pricehit_address_05 = (gasStation[4].location.postalCode) + " " + (gasStation[4].location.city) + ", " + (gasStation[4].location.address);
                    pricehit_06 = gasStation[5].name + " € " + (gasStation[5].prices[0].amount).toString().replace(".",",");
                    pricehit_address_06 = (gasStation[5].location.postalCode) + " " + (gasStation[5].location.city) + ", " + (gasStation[5].location.address);
                    }
                 
                if (InhaltDP == 1) {    //Name und Preis
                    setState(id_Preis_01, pricehit_01);
                    setState(id_Preis_02, pricehit_02);
                    setState(id_Preis_03, pricehit_03);
                    setState(id_Preis_04, pricehit_04);
                    setState(id_Preis_05, pricehit_05);
                    setState(id_Preis_06, pricehit_06);
                }
                 
                if (InhaltDP == 2) {    //Name, Preis und Adresse
                    setState(id_Preis_01, pricehit_01 + " - " + pricehit_address_01);
                    setState(id_Preis_02, pricehit_02 + " - " + pricehit_address_02);
                    setState(id_Preis_03, pricehit_03 + " - " + pricehit_address_03);
                    setState(id_Preis_04, pricehit_04 + " - " + pricehit_address_04);
                    setState(id_Preis_05, pricehit_05 + " - " + pricehit_address_05);
                    setState(id_Preis_06, pricehit_06 + " - " + pricehit_address_06);
                }
                 
                if (InhaltDP == 3) {    //1.Feld: Name, Preis 2.Feld: Adresse
                    setState(id_Preis_01, pricehit_01);
                    setState(id_Preis_02, pricehit_02);
                    setState(id_Preis_03, pricehit_03);
                    setState(id_Preis_04, pricehit_04);
                    setState(id_Preis_05, pricehit_05);
                    setState(id_Preis_06, pricehit_06);
                    setState(id_Adresse_01, pricehit_address_01);
                    setState(id_Adresse_02, pricehit_address_02);
                    setState(id_Adresse_03, pricehit_address_03);
                    setState(id_Adresse_04, pricehit_address_04);
                    setState(id_Adresse_05, pricehit_address_05);
                    setState(id_Adresse_06, pricehit_address_06);
                }
                 
                log('Ende Spritvergleich');
                });
                

                und im Log auch alles OK

                javascript.0	2019-04-01 18:49:58.542	info	script.js.common.Treibstoffpreise_1: registered 1 subscription and 0 schedules
                javascript.0	2019-04-01 18:49:58.537	info	Start javascript script.js.common.Treibstoffpreise_1
                javascript.0	2019-04-01 18:49:54.686	info	Stop script script.js.common.Treibstoffpreise_1
                javascript.0	2019-04-01 18:49:39.926	info	Stop script script.js.common.Treibstoffpreise_1
                
                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von Negalein
                #45

                @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

                Was mach ich FALSCH?

                hat es beim 1. Versuch mit 9 Tankstellen funktioniert?

                Eventuell liegt es an der API?
                Auf spritpreisrechner.at werden auch nur die ersten 5 mit Preisen angezeigt.

                PS:
                Eventuell liegt es an den Anführungszeichen.

                Bei mir sieht es so aus

                var id_Preis_01 = "javascript.0.Sprit.Aktueller_Spritpreis_01";
                

                bei dir so

                var id_Preis_01 = 'javascript.0.Treibstoffpreise.Benzin.Tankstelle1'
                

                Ich hab " und du hast '

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                1 Antwort Letzte Antwort
                0
                • SmarthomeMFS Offline
                  SmarthomeMFS Offline
                  SmarthomeMF
                  schrieb am zuletzt editiert von
                  #46

                  @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                  hat es beim 1. Versuch mit 9 Tankstellen funktioniert?

                  nur beim ersten versuch mit 4...
                  dann haben sich die Werte nicht Aktualisiert! habe ich erst Später gemerkt
                  Danach habe ich auf 9 Tankstellen erweitert.....
                  ging nicht.

                  die "" Zeichen habe ich auch schon geändert aber bringt nix....
                  werde aber noch mal probieren

                  @Georgius sagte in Skripten des E-Control Spritpreisrechners:

                  Zeig mal die Einstellungen im Parseradapter

                  001.PNG

                  Max

                  ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
                  Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • SmarthomeMFS SmarthomeMF

                    @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                    hat es beim 1. Versuch mit 9 Tankstellen funktioniert?

                    nur beim ersten versuch mit 4...
                    dann haben sich die Werte nicht Aktualisiert! habe ich erst Später gemerkt
                    Danach habe ich auf 9 Tankstellen erweitert.....
                    ging nicht.

                    die "" Zeichen habe ich auch schon geändert aber bringt nix....
                    werde aber noch mal probieren

                    @Georgius sagte in Skripten des E-Control Spritpreisrechners:

                    Zeig mal die Einstellungen im Parseradapter

                    001.PNG

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #47

                    @SmarthomeMF
                    Ihr lieben,
                    ich habe diesen Thread nur eben quergelesen.
                    Wenn ich alles richtig verstanden habe sollte da doch vereinfachungspotential drin sein.

                    Stimmt folgendes:

                    • Ihr holt euch bei der API einen URL
                    • wenn man diesen URL aufruft bekommt man "etwas" zurück
                    • dieses Etwas ist Info von 10 Tankstellen

                    und ihr wollt die Daten dazu in Datenpunkten haben?
                    Was genau ?

                    Wenn das alles so stimmt:
                    kann mit jemand mal einen solchen URL geben

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    NegaleinN 1 Antwort Letzte Antwort
                    1
                    • HomoranH Homoran

                      @SmarthomeMF
                      Ihr lieben,
                      ich habe diesen Thread nur eben quergelesen.
                      Wenn ich alles richtig verstanden habe sollte da doch vereinfachungspotential drin sein.

                      Stimmt folgendes:

                      • Ihr holt euch bei der API einen URL
                      • wenn man diesen URL aufruft bekommt man "etwas" zurück
                      • dieses Etwas ist Info von 10 Tankstellen

                      und ihr wollt die Daten dazu in Datenpunkten haben?
                      Was genau ?

                      Wenn das alles so stimmt:
                      kann mit jemand mal einen solchen URL geben

                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      schrieb am zuletzt editiert von Negalein
                      #48

                      @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                      kann mit jemand mal einen solchen URL geben

                      Ich schicks dir beim Chat

                      PS: bei mir funktioniert es mit Parser und Javascript.
                      Ich bekomme mit obigen Script 5 Tankstellen inkl. Adressen und Preisen.

                      ° Node.js: 20.17.0 NPM: 10.8.2
                      ° Proxmox, Ubuntu 22.04.3 LTS
                      ° Fixer ---> iob fix

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • NegaleinN Negalein

                        @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                        kann mit jemand mal einen solchen URL geben

                        Ich schicks dir beim Chat

                        PS: bei mir funktioniert es mit Parser und Javascript.
                        Ich bekomme mit obigen Script 5 Tankstellen inkl. Adressen und Preisen.

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #49

                        @Negalein
                        ich habe inzwischen einen URL erzeugt - weiß der Teufel wo das ist, ich bin keine Alpenländler.

                        So ganz einfach wie ich es mir vorgestellt habe wird es fast nicht.
                        Ich hatte die Regionensuche bemüht und ein json zurückbekommen.
                        Das kann man wie ich es wollte schnell mit regex auseinandernehmen - ganz ohne javascript.

                        Bedingung ist, die Reihenfolge in dem json bleibt unverändert, und man will nur wenige Stationen monitoren.

                        Dann kann mal alleine mit dem Parser mit wenigen Zeilen zu einem Ergebnis kommen.

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • NegaleinN Offline
                          NegaleinN Offline
                          Negalein
                          Global Moderator
                          schrieb am zuletzt editiert von
                          #50

                          @SmarthomeMF
                          Ich hab mir gerade die Ausgabe des Links in einem Editor angeschaut.

                          Wie ich bereits vermutet habe, werden sowieso nur bei den ersten 5 billigsten Tankstellen die Preise angezeigt.

                          ° Node.js: 20.17.0 NPM: 10.8.2
                          ° Proxmox, Ubuntu 22.04.3 LTS
                          ° Fixer ---> iob fix

                          HomoranH sigi234S 2 Antworten Letzte Antwort
                          0
                          • HomoranH Homoran

                            @Negalein
                            ich habe inzwischen einen URL erzeugt - weiß der Teufel wo das ist, ich bin keine Alpenländler.

                            So ganz einfach wie ich es mir vorgestellt habe wird es fast nicht.
                            Ich hatte die Regionensuche bemüht und ein json zurückbekommen.
                            Das kann man wie ich es wollte schnell mit regex auseinandernehmen - ganz ohne javascript.

                            Bedingung ist, die Reihenfolge in dem json bleibt unverändert, und man will nur wenige Stationen monitoren.

                            Dann kann mal alleine mit dem Parser mit wenigen Zeilen zu einem Ergebnis kommen.

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #51

                            Hier mal das Vorgehen:

                            Voraussetzung ist, dass sich die Reihenfolge bei den Abfragen NICHT ändert. sonst braucht es eine weitere Zeile je Tankstelle

                            URL und REGEX eingeben wie gehabt.
                            regex_Tanken.png
                            Name entspricht der Tankstelle
                            NUM ist die Position dieser Tankstelle im JSON (-1)

                            fertig
                            regex_Tanken02.png

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • NegaleinN Negalein

                              @SmarthomeMF
                              Ich hab mir gerade die Ausgabe des Links in einem Editor angeschaut.

                              Wie ich bereits vermutet habe, werden sowieso nur bei den ersten 5 billigsten Tankstellen die Preise angezeigt.

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #52

                              @Negalein
                              so ist es.
                              Heisst das , dass sich die Reihenfolge ändert?

                              Dann muss jeweils eine weiter Zeile, gleicher URL, gleiche NUM mit Regex

                              me":"(\D+)","
                              

                              Typ Text
                              Der gibt dann den Namen der Tankstelle aus

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              NegaleinN 1 Antwort Letzte Antwort
                              0
                              • NegaleinN Negalein

                                @SmarthomeMF
                                Ich hab mir gerade die Ausgabe des Links in einem Editor angeschaut.

                                Wie ich bereits vermutet habe, werden sowieso nur bei den ersten 5 billigsten Tankstellen die Preise angezeigt.

                                sigi234S Online
                                sigi234S Online
                                sigi234
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #53

                                @Negalein

                                Hallo, kann ich das auch haben? Wie bekomme ich die Url für meinen Ort heraus?

                                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Immer Daten sichern!

                                NegaleinN 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @Negalein
                                  so ist es.
                                  Heisst das , dass sich die Reihenfolge ändert?

                                  Dann muss jeweils eine weiter Zeile, gleicher URL, gleiche NUM mit Regex

                                  me":"(\D+)","
                                  

                                  Typ Text
                                  Der gibt dann den Namen der Tankstelle aus

                                  NegaleinN Offline
                                  NegaleinN Offline
                                  Negalein
                                  Global Moderator
                                  schrieb am zuletzt editiert von
                                  #54

                                  @Homoran sagte in Skripten des E-Control Spritpreisrechners:

                                  Heisst das , dass sich die Reihenfolge ändert?

                                  Ja!
                                  Es werden 10 Tankstellen angezeigt, aber nur bei den 5 günstigsten scheint der Preis auf.
                                  Siehe auch www.spritpreisrechner.at
                                  Kannst ja mal meinen Ort (Schärding) eingeben.

                                  ° Node.js: 20.17.0 NPM: 10.8.2
                                  ° Proxmox, Ubuntu 22.04.3 LTS
                                  ° Fixer ---> iob fix

                                  1 Antwort Letzte Antwort
                                  0
                                  • SmarthomeMFS Offline
                                    SmarthomeMFS Offline
                                    SmarthomeMF
                                    schrieb am zuletzt editiert von SmarthomeMF
                                    #55

                                    @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                                    Ja!
                                    Es werden 10 Tankstellen angezeigt, aber nur bei den 5 günstigsten scheint der Preis auf.
                                    Siehe auch www.spritpreisrechner.at
                                    Kannst ja mal meinen Ort (Schärding) eingeben.

                                    ja ich brauche immer etwas länger....
                                    habe es auch schon gemerkt.
                                    Es sind 10 da aber nur 5 mit Preise.
                                    Ich brauche aber mehr als die 5.
                                    Aber mal schauen was da vom @Homoran noch kommt.
                                    Ich bin froh für jede Lösung den ich kenne mich nicht aus.
                                    Danke für die Tolle Arbeit!

                                    Max

                                    ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
                                    Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

                                    NegaleinN HomoranH 2 Antworten Letzte Antwort
                                    0
                                    • sigi234S sigi234

                                      @Negalein

                                      Hallo, kann ich das auch haben? Wie bekomme ich die Url für meinen Ort heraus?

                                      NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      schrieb am zuletzt editiert von Negalein
                                      #56

                                      @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

                                      Hallo, kann ich das auch haben? Wie bekomme ich die Url für meinen Ort heraus?

                                      Dieser Link ist für meine Koordinaten. Und Treibstoff DIE (Diesel)!
                                      https://api.e-control.at/sprit/1.0/search/gas-stations/by-address?latitude=XX.XXXXXX&longitude=XX.XXXXXX&fuelType=DIE&includeClosed=false

                                      Koordinaten bekommst du hier raus.

                                      Dann den erzeugten Link in Parser als JSON eintragen.
                                      Datenpunkte unter javascript. erzeugen.
                                      Script anpassen
                                      fertig

                                      ° Node.js: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° Fixer ---> iob fix

                                      1 Antwort Letzte Antwort
                                      0
                                      • SmarthomeMFS Offline
                                        SmarthomeMFS Offline
                                        SmarthomeMF
                                        schrieb am zuletzt editiert von
                                        #57

                                        @sigi234 sagte in Skripten des E-Control Spritpreisrechners:

                                        Wie bekomme ich die Url für meinen Ort heraus?

                                        wurde oben schon von den Kollegen genau beschrieben.
                                        das habe sogar ich geschafft!
                                        dann schaffst du das auch.

                                        Max

                                        ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
                                        Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

                                        sigi234S 1 Antwort Letzte Antwort
                                        0
                                        • SmarthomeMFS SmarthomeMF

                                          @Negalein sagte in Skripten des E-Control Spritpreisrechners:

                                          Ja!
                                          Es werden 10 Tankstellen angezeigt, aber nur bei den 5 günstigsten scheint der Preis auf.
                                          Siehe auch www.spritpreisrechner.at
                                          Kannst ja mal meinen Ort (Schärding) eingeben.

                                          ja ich brauche immer etwas länger....
                                          habe es auch schon gemerkt.
                                          Es sind 10 da aber nur 5 mit Preise.
                                          Ich brauche aber mehr als die 5.
                                          Aber mal schauen was da vom @Homoran noch kommt.
                                          Ich bin froh für jede Lösung den ich kenne mich nicht aus.
                                          Danke für die Tolle Arbeit!

                                          NegaleinN Offline
                                          NegaleinN Offline
                                          Negalein
                                          Global Moderator
                                          schrieb am zuletzt editiert von
                                          #58

                                          @SmarthomeMF sagte in Skripten des E-Control Spritpreisrechners:

                                          Ich brauche aber mehr als die 5.

                                          Dann musst du mit 2 unterschiedlichen Gebieten/Links arbeiten.
                                          Im Umkreis von deinen Koordinaten werden nur 5 mit Preisen angezeigt.

                                          ° Node.js: 20.17.0 NPM: 10.8.2
                                          ° Proxmox, Ubuntu 22.04.3 LTS
                                          ° Fixer ---> iob fix

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          819

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe