String formatieren in ECMA Script

Hier bitte alles rein was Off-topic ist.

Moderatoren: Cyrelian, seppy

Antworten
der_micha
Beiträge: 15
Registriert: 12. Mai 2020 08:06

String formatieren in ECMA Script

Beitrag von der_micha »

Hallo zusammen,

kann mir jemand helfen folgenden String in einem ECMA Script so umzubauen, dass nur noch die 23 übrig bleibt?
Ich habe das mit .replace versucht, aber leider hinbekommen.

{„NSPanel“:{„ATCMode“:0,“ATCExpect0″:23}}

LG Micha

Harka
Beiträge: 298
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: String formatieren in ECMA Script

Beitrag von Harka »

Versuchs mal mit JSON.parse()
Geht bei mir aber nur unter ECMA 5.1

Code: Alles auswählen

var text = '{"NSPanel":{"ATCMode":0,"ATCExpect0":23}}';
var obj = JSON.parse(text);
 
var ziel = obj.NSPanel.ATCExpect0;

der_micha
Beiträge: 15
Registriert: 12. Mai 2020 08:06

Re: String formatieren in ECMA Script

Beitrag von der_micha »

Vielen Dank für den Tipp!
Ich glaube ich bin total auf dem Holzweg. So sieht das im Script aus, ich glaube hier kann man das gar nicht so umbauen wie ich das vor habe.

Code: Alles auswählen

events.sendCommand("InnogyHeizungPartykeller_Solltemperatur",
itemRegistry.getItem("NSPanel1_NSPanel1Thermostat_Setpoint").getState());
Bin gerade etwas ratlos, ich glaube ich muss noch ein paar Grundlagen pauken...

Harka
Beiträge: 298
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: String formatieren in ECMA Script

Beitrag von Harka »

sollte schon gehen - ziel hat danach den Wert 23

Code: Alles auswählen

var text = itemRegistry.getItem("NSPanel1_NSPanel1Thermostat_Setpoint").getState());
var obj = JSON.parse(text);
 
var ziel = obj.NSPanel.ATCExpect0;
jetzt aber das große ABER
die bessere Lösung dürfte sein das ganze über die Konfiguration des Things NSPanel1 zu erledigen in dem Du diesem ein extra Channel für ATCExpect0 zuweist. Damit kannst Du den Wert in OpenHAB leichter weiter verarbeiten. Schau Dich hier mal im Bereich Hardware/Sonoff ein wenig um.

der_micha
Beiträge: 15
Registriert: 12. Mai 2020 08:06

Re: String formatieren in ECMA Script

Beitrag von der_micha »

Das hat funktioniert - vielen Dank!!!

Aber wenn ich ehrlich bin, verstehe ich nicht so ganz wie...

Harka
Beiträge: 298
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: String formatieren in ECMA Script

Beitrag von Harka »

bin auch nur Laie - wenn ich hier totalen Blödsinn schreibe möge hier jemand einschreiten ;)

Du hattest dort eine Ausgabe im JSON-Format. Siehe auch http://format.gbv.de/json
Diese liest Du in das JavaScript-Objekt "obj" mittels JSON.parse() ein.
obj hat eine Variable NSPanel die wiederum 2 "Töchter" {in extra geschweifter Klammer} ATCMode und ATCExpect0 hat.
Mir "var ziel = obj.NSPanel.ATCExpect0;" hangelst Du Dich durch die 2 Ebenen um ziel den Wert von ATCExpect0 zuzuweisen.

der_micha
Beiträge: 15
Registriert: 12. Mai 2020 08:06

Re: String formatieren in ECMA Script

Beitrag von der_micha »

Also wenn Du Laie bist, dann möchte ich ab heute bitte alles nur noch von Laien erklärt bekommen. ;)
Wirklich spitze erklärt - vielen Dank dafür!!!

LG Micha

Antworten