Communicate
New member
Hallo,
ich bekomme von einem Server diverse Nachrichten per SSE geschickt. Das ganze ist dann immer ein JSON-Satz.
Ich habe mir einen funktionierenden Code zusammengebaut - wenn ich ehrlich bin, sieht das aber für mich nicht so aus, als ob das die perfekte Lösung so ist. Daher meine Bitte an Euch, mir Tips zu geben, was / wie ich besser machen könnte.
Die Rohdaten des SSE-JSON sehen so aus:
Hier der Code:
Ich würde mich über Feedback sehr freuen
ich bekomme von einem Server diverse Nachrichten per SSE geschickt. Das ganze ist dann immer ein JSON-Satz.
Ich habe mir einen funktionierenden Code zusammengebaut - wenn ich ehrlich bin, sieht das aber für mich nicht so aus, als ob das die perfekte Lösung so ist. Daher meine Bitte an Euch, mir Tips zu geben, was / wie ich besser machen könnte.
Die Rohdaten des SSE-JSON sehen so aus:
Code:
event: message
data: {"topic":"smarthome/items/GEG_HZ_Ist/state","payload":"{\"type\":\"DecimalType\",\"value\":\"21.30\"}","type":"ItemStateEvent"}
Hier der Code:
Code:
<script>
var eventSource = new EventSource("http://192.168.178.52:8080/rest/events");
eventSource.addEventListener('message', function (eventPayload) {
var event = JSON.parse(eventPayload.data);
if (event.type == 'ItemStateEvent')
console.log(event.topic)
{
switch(event.topic)
{
case "smarthome/items/gFenster/state":
var gFenster = JSON.parse(event.payload);
break;
case "smarthome/items/KEG_Fenster/state":
var KEG_Fenster = JSON.parse(event.payload);
break;
case "smarthome/items/GEG_Fenster/state":
var GEG_Fenster = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_Fenster_V/state":
var WEG_Fenster_V = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_Fenster_L/state":
var WEG_Fenster_L = JSON.parse(event.payload);
break;
case "smarthome/items/BOG_Fenster/state":
var BOG_Fenster = JSON.parse(event.payload);
break;
case "smarthome/items/SOG_Fenster/state":
var SOG_Fenster = JSON.parse(event.payload);
break;
case "smarthome/items/LOG_Fenster/state":
var LOG_Fenster = JSON.parse(event.payload);
break;
case "smarthome/items/AOG_Fenster/state":
var AOG_Fenster = JSON.parse(event.payload);
break;
case "smarthome/items/KUG_Fenster/state":
var KUG_Fenster = JSON.parse(event.payload);
break;
case "smarthome/items/FensterO/state":
var FensterO = JSON.parse(event.payload);
break;
case "smarthome/items/FensterG/state":
var FensterG = JSON.parse(event.payload);
break;
case "smarthome/items/GEG_HZ_Ist/state":
var GEG_HZ_Ist = JSON.parse(event.payload);
break;
case "smarthome/items/GEG_HZ_Soll/state":
var GEG_HZ_Soll = JSON.parse(event.payload);
break;
case "smarthome/items/EG_Garderobe_Beleuchtung/state":
var EG_Garderobe_Beleuchtung = JSON.parse(event.payload);
break;
case "smarthome/items/FEG_HZ_Ist/state":
var FEG_HZ_Ist = JSON.parse(event.payload);
break;
case "smarthome/items/FEG_HZ_Soll/state":
var FEG_HZ_Soll = JSON.parse(event.payload);
break;
case "smarthome/items/GEG_Rollo/state":
var GEG_Rollo = JSON.parse(event.payload);
break;
case "smarthome/items/KEG_Beleuchtung/state":
var KEG_Beleuchtung = JSON.parse(event.payload);
break;
case "smarthome/items/KEG_Lueftung/state":
var KEG_Lueftung = JSON.parse(event.payload);
break;
case "smarthome/items/KEG_Rollo/state":
var KEG_Rollo = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_Rollo_V/state":
var WEG_Rollo_V = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_Rollo_R/state":
var WEG_Rollo_R = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_Rollo_L/state":
var WEG_Rollo_L = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_HZ_Ist/state":
var WEG_HZ_Ist = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_HZ_Soll/state":
var WEG_HZ_Soll = JSON.parse(event.payload);
break;
case "smarthome/items/WEG_HZ_Luft/state":
var WEG_HZ_Luft = JSON.parse(event.payload);
break;
case "smarthome/items/BOG_HZ_Ist/state":
var BOG_HZ_Ist = JSON.parse(event.payload);
break;
case "smarthome/items/BOG_HZ_Soll/state":
var BOG_HZ_Soll = JSON.parse(event.payload);
break;
case "smarthome/items/BOG_HZ_Luft/state":
var BOG_HZ_Luft = JSON.parse(event.payload);
break;
case "smarthome/items/BOG_Rollo/state":
var BOG_Rollo = JSON.parse(event.payload);
break;
case "smarthome/items/SOG_HZ_Ist/state":
var SOG_HZ_Ist = JSON.parse(event.payload);
break;
case "smarthome/items/SOG_HZ_Soll/state":
var SOG_HZ_Soll = JSON.parse(event.payload);
break;
case "smarthome/items/SOG_HZ_Luft/state":
var SOG_HZ_Luft = JSON.parse(event.payload);
break;
case "smarthome/items/SOG_Rollo/state":
var SOG_Rollo = JSON.parse(event.payload);
break;
case "smarthome/items/LOG_HZ_Ist/state":
var LOG_HZ_Ist = JSON.parse(event.payload);
break;
case "smarthome/items/LOG_HZ_Soll/state":
var LOG_HZ_Soll = JSON.parse(event.payload);
break;
case "smarthome/items/LOG_HZ_Luft/state":
var LOG_HZ_Luft = JSON.parse(event.payload);
break;
case "smarthome/items/LOG_Rollo/state":
var LOG_Rollo = JSON.parse(event.payload);
break;
case "smarthome/items/AOG_HZ_Ist/state":
var AOG_HZ_Ist = JSON.parse(event.payload);
break;
case "smarthome/items/AOG_HZ_Soll/state":
var AOG_HZ_Soll = JSON.parse(event.payload);
break;
case "smarthome/items/AOG_Rollo/state":
var AOG_Rollo = JSON.parse(event.payload);
break;
}
}
});
Ich würde mich über Feedback sehr freuen
Zuletzt bearbeitet von einem Moderator: