Sorry, hier der komplette Link
http://192.168.1.214:3000/d/b7d1c3cc-43b6-4060-9491-611715763db7/stromanbieter-vergleich?orgId=1&viewPanel=1&from=now-24h&to=now&kiosk
Sorry, hier der komplette Link
http://192.168.1.214:3000/d/b7d1c3cc-43b6-4060-9491-611715763db7/stromanbieter-vergleich?orgId=1&viewPanel=1&from=now-24h&to=now&kiosk
Hallo,
ich habe auch ein interessantes Phänomen mit Grafana in iFrame ... die Hälfte des iFrames ist leer, dafür wird der Graph rechts abgeschnitten!
Was im Edit-Mode angezeigt wird, wird auch 1:1 so in der normalen View angezeigt!
Die Config ist auch recht überschaubar:
Wenn ich die URL direkt in einem Browser aufrufe, dann wird der Graph korrekt angezeigt.
Hat jemand eine Idee was da los sein könnte??
LG,
Harald
Ahhh ... der Expertenmodus muss her! Jetzt sehe ich ein Verzeichnis 'global' und da drinnen gibt es ein Script 'Konstante' mit der Deklaration!
Tja, man sollte sich keine längeren Pausen gönnen ...
Danke für den Tipp!!
@gargano Bei 'go to references' zeigt er mir auch index0.js bis index3.js an..
Ich habe nur keine Ahnung was das sein soll ... ich habe kein Script mit diesem Namen angelegt und es scheint auch nicht in meiner Liste der Skripte im JS Editor auf. Ist das was ioBroker internes?
Hallo,
stehe gerade ein wenig auf der Leitung ... versuche nach längerer Pause wieder ein paar Änderungen an meinen Logiken zu machen. Da gibt es ein paar Konstanten, z.B. cWinter, für die ich auch Werte angezeigt bekomme:
Soweit so gut, aber ich kann die Deklaration der Konstanten nirgends finden! Wenn ich im JS Editor links oben auf Suchen gehe und cWinter eingebe, bekomme ich nur Stellen angezeigt, wo die Konstante benutzt wird, aber nicht die const-Deklaration.
Rechts-click 'show definition' liefert
Dachte mir ich hatte die Deklaration aus Versehen gelöscht ... gut, dann halt neu anlegen, aber ...
Irgendwo muss die Deklaration doch zu finden sein! Schließlich muss sie ja auch beim Backup geschrieben werden ...
Was übersehe ich ??? Hat jemand einen Tipp?
@Garfonso und nochmals danke ... habe wieder einiges gelernt. Ich denke jetzt passt es. Immer zur vollen Stunde frage ich den max-Windwert der letzten Stunde ab und setzte ihn danach zurück. Über die subscription lausche ich auf den neuen max-Werte und setzt ihn dann in meinen DP:
schedule("0 * * * *", function () {
setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
setStateDelayed("knx.0.0_Zentral.0_1_Messwerte.Reset_Wind_max",true,500);
});
on({ id: 'knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', ack: true}, (e) => {
//diese Funktion wird jedesmal aufgerufen, wenn der State aktualisiert wird, also wenn was neues vom KNX Bus kommt
setState("javascript.0.Wetter.iMaxWind", e.state.val * 3.6, true);
});
Bei deiner Frage Warum hast du scriptEnabled in deiner id, die du setzen willst? bin ich dann gleich mal ins Schwitzen geraten ... und wie befürchtet, habe ich wiedermal ins Schwarze getroffen. Beim initialen Herumspielen habe ich den Ordner scriptEnabled gesehen. Dachte mir, aha, klingt gut, da kommt alles was zu den aktivierten Scripts gehört rein. Also habe ich ohne viel nachzudenken alle DPs da drinnen anlegt.
Nach deiner Frage, habe ich dann mal nach scriptEnabled gegooglt ... war wohl doch nicht so optimal.
Naja, das war jetzt meine Nachmittagsbeschäftigung. Habe alle DPs da raus geholt .. eine schöne Arbeit. Aber jetzt isses sauber.
Eine Verständnisfrage hätte ich dann doch noch zur zeitlichen Abfolge. Die Sinnhaftigkeit des Scripts bitte nicht beachten.
Verstehe ich das richtig, dass der zeitliche Ablauf wie folgt ist:
(2) wird sofort vom Cache gelesen, aber erst nach 2s in den DP (1) geschrieben.
Das log Kommand (3) wird erst nach Ablauf der 2s ausgeführt, und der DP (4) wird auch erst nach 2s ausgelesen.
Kommt das so hin?
Danke für die Erklärung! Hatte mir schon sowas gedacht. Allerdings bin ich von der Adapter-Doku ausgegangen, und aufgrund von
habe ich mir gedacht, ein getState wäre ein Trigger für das GroupValueRead. Bin gerade erst dabei mich in ioBroker einzuarbeiten und da gibt es natürlich noch ein paar Startschwierigkeiten ...
Das mit dem Caching von getStates ist mir auch neu und eine Beschreibung dazu konnte ich auch noch nicht finden. Die Funktionsbeschreibung erwähnt das nämlich nicht.
Wie du schon schreibst, schön ist die Variante nicht. Ich kann den Messwert auch über eine eigene GA anfordern. Denke mal das wird dann die bessere Variante sein. Das würde ich dann ungefähr so machen
setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
setStateDelayed("javascript.0.scriptEnabled.Wetter.iMaxWind", getState("knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s").val*3.6,2000);
Kann ich davon ausgehen, dass ich mit einer Verzögerung von 2s dann schon den neuen Wert mit getState bekomme (am Bus sehe ich den Response nach <0,1s). Oder bekomme ich dann noch den Wert aus dem Cache? Bzw. wie kann man den Cache umgehen?
Hallo zusammen!
Habe da ein Problem mit Bus Reads ... möchte eine GA auslesen, aber es wird kein GroupValueRead abgesetzt. Bin aktuell auf 1.0.41.
Der DP ist folgendermaßen definiert:
{
"from": "system.adapter.knx.0",
"user": "system.user.admin",
"ts": 1586887293841,
"common": {
"name": "Messen Wind max m/s",
"type": "number",
"role": "value",
"unit": "m/s",
"max": 670670,
"min": 0,
"read": true,
"write": false,
"update": true
},
"native": {
"dpt": "DPT9.005",
"address": "0/1/52",
"addressRefId": "P-01ED-0_GA-55",
"statusGARefId": "",
"actGARefId": "",
"objRef": "O-2_R-631",
"devName": "M-0001_A-9101-01-0F6B-O00C9",
"devInst": "P-01ED-0_DI-620",
"objectSize": ""
},
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1636
},
"_id": "knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s",
"type": "state"
}
Damit versuche ich einen Wert von der Wetterstation auszulesen:
log("max knx wind = "+getState('knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s').val);
Aber am Bus passiert gar nichts! Kein Read. Im log sehe ich auch keinen Bus-Request
2020-04-19 13:49:27.541 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
2020-04-19 13:49:27.688 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
2020-04-19 13:49:27.703 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
2020-04-19 13:49:27.707 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
2020-04-19 13:49:27.708 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
2020-04-19 13:49:27.719 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296967716,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
2020-04-19 13:49:38.654 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
2020-04-19 13:49:38.791 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
2020-04-19 13:49:38.804 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
2020-04-19 13:49:38.815 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296978810,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
Das einzige was auf den Bus raus geht, ist ein setState, aber sämtliche getStates gehen nicht raus.
Eigentlich sollte doch wenn L und U gesetzt sind ein GroupValueRead gemacht werden, oder? Funktioniert das bei euch?? Oder steh' ich wieder mal auf der Leitung ...