NEWS
[gelöst] Feldinhalt in basic table aus json abändern
-
Erbarmt sich so gar keiner der Script-Profis zu dem Thema . Ein paar Codeschnipsel würden mich ja vielleicht schon auf die richtige Spur bringen ....
-
@Lueghi
Ich verstehe immer noch nicht ganz was du willst, weil....Wenn du das json table widget nimmst, kannst du die Überschriften doch frei definieren, so wie ich hier
-
@Homoran: es geht mir nicht um die Spaltenköpfe sondern um einen Spalteninhalt je Zeile (siehe auch mein Beitrag vom 2020-03-23).
-
@Lueghi sondern?
zeig doch mal original und Fälschung
-
@Lueghi sagte:
um einen Spalteninhalt je Zeile
Welchen ? Was liefert der TR-064-Adapter und was soll per Script geändert werden ?
-
@Homoran: aus Deinem Beispielbild: aus 4476 soll 4711 werden
-
@Lueghi . ..und wie sieht dein json aus?
-
[{"id":2519,"type":"3","called":"0xxxxxx","caller":"SIP: 870013","callernumber":"870013","name":"Name","numbertype":"sip","device":"Flur unten","port":"12","date":"11.09.2013:05","duration":"0:01","count":"","path":"","sym":"<","external":"Nummer"}, {"id":2518,"type":"1","caller":"0xxxxxxx","called":"SIP: 8731316","callednumber":"8731316","name":"Name","numbertype":"sip","device":"Keller","port":"11","date":"11.09.2009:06","duration":"0:06","count":"","path":"","sym":">","external":"Nummer"}]
Ich möchte den Inhalt der Spalte sym abändern.
-
du meinst sowas:
on("tr-064.0.calllists.all.json", function(dp) { let myOjc=JSON.parse(getState("tr-064.0.calllists.all.json").val) for (let i=0;i<myOjc.length;i++) { log(myOjc[i].sym) myOjc[i].sym=="<" ? myOjc[i].sym="kommt rein" : myOjc[i].sym="geht raus"} setState("0_userdata.0.Neues_ObjektJSONTest",JSON.stringify(myOjc) ) });
-
@Lueghi was ist das für ein dp ?
-
@Lueghi sagte:
Ich möchte den Inhalt der Spalte sym abändern.
Vorschlag:
const idJson = '...'; const idTable = '...'; on(idJson, function(dp) { let arr = JSON.parse(dp.state.val); for(let i = 0; i < arr.length; i++) { let obj = arr[i]; if(obj.sym == '<') obj.sym = 'eingehend'; else obj.sym = 'ausgehend'; } setState(idTable, JSON.stringify(arr), true); });
-
hab gerade einen farbflash und ds invento json getestet - cooles widget - sehr einfach zu def.
-
@liv-in-sky
tr-064.0.calllists.all.json -
@paul53
das sieht für mich als Laien erst mal sehr gut aus !
Habe da aber noch ein Verständnisproblem:
idJson: ist das wirklich die ID oder der Datenpunktname aus iobroker/objekte?
idTable: was muss da rein? -
@Lueghi ein neuer - von dir angelegter - datenpunkt - der soll dann in die vis zur anzeige
-
@liv-in-sky
D.h. ich kann/sollte den Ursprungsdatenpunkt nicht überschreiben? Da das Script doch bei jeder Änderung läuft und der DP nur von der Fritzbox gelesen wird, dachte ich man könnte den Ursprungs-DP einfach ändern? -
@Lueghi sagte in [Frage] Feldinhalt in basic table aus json abändern:
@liv-in-sky
D.h. ich kann/sollte den Ursprungsdatenpunkt nicht überschreiben? Da das Script doch bei jeder Änderung läuft und der DP nur von der Fritzbox gelesen wird, dachte ich man könnte den Ursprungs-DP einfach ändern?Ich glaube mit der von mir vorgeschlagenen Änderung stelle ich mir selber ein Bein: Das Programm wird ja ständig getriggert, da ich ja auch eine Änderung mache, die wieder zur Auslösung des Programms wird das dann wieder eine Änderung macht die wieder triggert ..... usw.
Habe ich das richtig verstanden? -
@Lueghi sagte in [Frage] Feldinhalt in basic table aus json abändern:
@liv-in-sky
D.h. ich kann/sollte den Ursprungsdatenpunkt nicht überschreiben? Da das Script doch bei jeder Änderung läuft und der DP nur von der Fritzbox gelesen wird, dachte ich man könnte den Ursprungs-DP einfach ändern?man schreibt nie n einen datenpunkt eines adapters !!!!!!!!!!
du brauchst einen 2ten dp
-
@liv-in-sky sagte in [Frage] Feldinhalt in basic table aus json abändern:
man schreibt nie n einen datenpunkt eines adapters !!!!!!!!!!
du brauchst einen 2ten dp
Ja, ich glaube ich habe es verstanden .
Seit nicht zu streng mit mir, es ist das 1. Mal dass ich außerhalb von drag and drop was mit iobroker probiere .... -
war nicht böse gemeint - nur zeitsparend geschrieben