NEWS
Wie Datenpunkt erstellen in Objekte
-
Hallo
Ich versuche gerade meine ersten Schritte mit iobroker Skripte zu machen.
Ziel ist es eine Webadresse welche ein JSON zurückgibt auszulesen und das Ergebnis zur Verfügung zu stellen damit es angezeigt werden kann.Das ist mein Skript welcher die Seite ausliest
const request = require('request'); let url = "http://192.168.0.118/rest/kiwigrid/wizard/devices/"; let options = { json: true }; schedule('*/10 * * * * *', function () { request(url, options, (error, res, body) => { if (error) { return console.log(error) }; if (!error && res.statusCode == 200) { var myText = JSON.stringify(body); console.log(myText); }; }); });
Hier das JSON welches zurück gegeben wird.
{ "result": { "items": [ { "tagValues": { "IdLabelSet": { "tagName": "IdLabelSet", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": null }, "StateLockedIsSet": { "tagName": "StateLockedIsSet", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": false }, "IdDevicesMap": { "tagName": "IdDevicesMap", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": { "LOCATION": [ "c80cbbc3-b0f6-4582-a98d-2bcc54afc114" ], "INVERTER": [ "urn:sunspec:sma:inverter:305148784", "urn:solarwatt:myreserve:bc:a30b000a3ef8", "urn:solarwatt:myreserve:pv:a30b000a3ef8" ], "PV_PLANT": [ "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d" ] } }, "IdName": { "tagName": "IdName", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": "SEM" }, "MigratedToScheduleApp": { "tagName": "MigratedToScheduleApp", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": true }, "FractionFeedInLimit": { "tagName": "FractionFeedInLimit", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": 70 }, "ModeManagement": { "tagName": "ModeManagement", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": "OFF" }, "IdConsumerSettingsMap": { "tagName": "IdConsumerSettingsMap", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": {} }, "ModeTestActive": { "tagName": "ModeTestActive", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": false }, "IdFingerPrintVersion": { "tagName": "IdFingerPrintVersion", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": 0 }, "IdInterfaceList": { "tagName": "IdInterfaceList", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": [] }, "StateDevice": { "tagName": "StateDevice", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": "OK" }, "IdConsumerManagementIntervalsMap": { "tagName": "IdConsumerManagementIntervalsMap", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": {} }, "IdSerialNumber": { "tagName": "IdSerialNumber", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": null }, "FractionFeedInTestLimit": { "tagName": "FractionFeedInTestLimit", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": null }, "ModeActive": { "tagName": "ModeActive", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": false }, "IdConsumerSelectionList": { "tagName": "IdConsumerSelectionList", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": [] }, "IdModelCode": { "tagName": "IdModelCode", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": null }, "IdFirmware": { "tagName": "IdFirmware", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": null }, "PasswordLock": { "tagName": "PasswordLock", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": null }, "StateVisibleIsSet": { "tagName": "StateVisibleIsSet", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": false }, "PowerInSwitchedOnDevices": { "tagName": "PowerInSwitchedOnDevices", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": 0 }, "IdManufacturer": { "tagName": "IdManufacturer", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": null }, "StateErrorList": { "tagName": "StateErrorList", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": [] }, "IdManageableDeviceInfo": { "tagName": "IdManageableDeviceInfo", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": { "c80cbbc3-b0f6-4582-a98d-2bcc54afc114": { "powerPotencial": -302, "activeDevices": [] } } }, "IdDriver": { "tagName": "IdDriver", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": "com.solarwatt.devices.sem/com.kiwigrid.lib.ddk.driver.StaticDeviceDriver" }, "IdFingerPrint": { "tagName": "IdFingerPrint", "guid": "urn:solarwatt:sem:ERC04-000008368", "value": "urn:solarwatt:sem:ERC04-000008368" } }, "deviceModel": [ { "deviceClass": "com.kiwigrid.lib.device.Device" }, { "deviceClass": "com.solarwatt.devices.sem.SmartEnergyManagement" } ], "guid": "urn:solarwatt:sem:ERC04-000008368" }, { "tagValues": { "IdSerialNumber": { "tagName": "IdSerialNumber", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": null }, "TimePowerOutForecastGranularity": { "tagName": "TimePowerOutForecastGranularity", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": 900000 }, "FractionDeratingLimit": { "tagName": "FractionDeratingLimit", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": 0.7 }, "StateErrorList": { "tagName": "StateErrorList", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": [] }, "IdDriver": { "tagName": "IdDriver", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": "com.kiwigrid.devices.pvplant/com.kiwigrid.lib.driver.virtual.VirtualDriver" }, "IdInverterList": { "tagName": "IdInverterList", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": [ "urn:solarwatt:myreserve:pv:a30b000a3ef8" ] }, "ForecastPowerOut": { "tagName": "ForecastPowerOut", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": null }, "WorkACOut": { "tagName": "WorkACOut", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": 4308752895.798027 }, "StateLockedIsSet": { "tagName": "StateLockedIsSet", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": false }, "PowerOutForecastNow": { "tagName": "PowerOutForecastNow", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": 2244.03 }, "IdFirmware": { "tagName": "IdFirmware", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": null }, "DateInstallation": { "tagName": "DateInstallation", "guid": "5a4029ee-7b84-4d5a-821a-a13eae5b7b8d", "value": 1546905600000 }, usw...
Wie kann ich das Ergebnis nun als Objekt zur Verfügung stellen so das ich es in VIS einbinden kann?
Bin für jede Hilfe dankbar
Martin
-
@Martin-Sickel das Thema hatten wir schon gefüllt 100 mal.. bitte nutze die Such funktion