NEWS
[gelöst] Feldinhalt in basic table aus json abändern
-
@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
-
@liv-in-sky sagte in [Frage] Feldinhalt in basic table aus json abändern:
war nicht böse gemeint ...
Habe ich auch nicht so verstanden. Danke Dir für die Hilfe. Werde das mal ausprobieren ob ich das auch so hinbekomme wie Du. Es gibt auf jeden Fall eine Rückmeldung.
-
@all
Möchte mich bei allen Bedanken die mir weiter geholfen haben. Es funktioniert so wie ich es mir vorgestellt habe. Und ich habe auch wieder was dazu gelernt :).