NEWS
Alias aus Liste erstellen
-
Hallo zusammen,
meine Alias erstelle ich aktuell per Skript, welches ich mir hier aus dem Forum kopiert habe.
Bei einer neuen Erstellung eines Alias, muss ich dann immer die Daten wie Raum, Name und original DP eingeben.Skript:
Ist es möglich das Ganze auch mit Hilfe einer Liste und einer Schleife zu machen?
Die Liste könnte dann so aussehen:
Raum;Name;OrigDP;Gewerk
Ich komme aus der Windows / Powershell Ecke und bin daher in Javascript noch ganz am Anfang.
-
Hallo zusammen,
meine Alias erstelle ich aktuell per Skript, welches ich mir hier aus dem Forum kopiert habe.
Bei einer neuen Erstellung eines Alias, muss ich dann immer die Daten wie Raum, Name und original DP eingeben.Skript:
Ist es möglich das Ganze auch mit Hilfe einer Liste und einer Schleife zu machen?
Die Liste könnte dann so aussehen:
Raum;Name;OrigDP;Gewerk
Ich komme aus der Windows / Powershell Ecke und bin daher in Javascript noch ganz am Anfang.
ich nutze dieses Script :
dort ist ganz unten eine Vorgabe , durch "function createAliasWithObject" geregelt
createAliasWithObject({ idSrc: 'smartmeter.0.1-0:16_7_0__255.value', idDst: "alias.0.Strom.Smartmeter.value" });jenachdem was du brauchts einfach erweitern :
-
Ich bin bei JS leider nicht so firm. Könntest du bitte anhand eines Beispiels zeigen wie ich den 'idDst' erweitern muss wenn ich z.b. noch 'Raum' und 'Funktion' definieren will.
Und wie trege ich da mehrere Source-DP und Aliase ein?
Danke dir.
Edit: ok, die erweiterung um Rolle, Raum etc. habe ich selber hinbekommen. Aber wie kann ich denn jetzt für mehrere DP gleichzeitig einen Alias anlegen?
- Edit: Ok, vergiss meine Nachfrage gg Habe es durch probieren selber hinbekommen.
createAliasWithObject({ idSrc: 'hm-rpc.0.OEQ04432621.1.STATE', idDst: 'alias.0.Terrasse.Lampe', raum: 'Terrasse', idSrc: 'hm-rpc.0.OEQ12213302.1.STATE', idDst: 'alias.0.Terrasse.Dose', raum: 'Terrasse' -
Ich bin bei JS leider nicht so firm. Könntest du bitte anhand eines Beispiels zeigen wie ich den 'idDst' erweitern muss wenn ich z.b. noch 'Raum' und 'Funktion' definieren will.
Und wie trege ich da mehrere Source-DP und Aliase ein?
Danke dir.
Edit: ok, die erweiterung um Rolle, Raum etc. habe ich selber hinbekommen. Aber wie kann ich denn jetzt für mehrere DP gleichzeitig einen Alias anlegen?
- Edit: Ok, vergiss meine Nachfrage gg Habe es durch probieren selber hinbekommen.
createAliasWithObject({ idSrc: 'hm-rpc.0.OEQ04432621.1.STATE', idDst: 'alias.0.Terrasse.Lampe', raum: 'Terrasse', idSrc: 'hm-rpc.0.OEQ12213302.1.STATE', idDst: 'alias.0.Terrasse.Dose', raum: 'Terrasse'Ich brauche doch noch deine Hilfe. Wenn ich es so mache wie im Beitrag davor, legt er mir immer den letzten Eintrag an (in dem fall den Alias "Dose"
Wo mache ich da den Fehler?
-
Ich brauche doch noch deine Hilfe. Wenn ich es so mache wie im Beitrag davor, legt er mir immer den letzten Eintrag an (in dem fall den Alias "Dose"
Wo mache ich da den Fehler?
@frana120500 Moin,
so 100% weiß ich es auch nicht, aber versuch doch mal so:
function createAliasWithObject({ idSrc, idDst, raum = undefined, */hier das undefined entfernen bei dem du es benötigst*/ gewerk = undefined, typeAlias = undefined, read = undefined, write = undefined, nameAlias = undefined, role = undefined, desc = undefined, min = undefined, max = undefined, unit = undefined, states = undefined }) { createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states); } createAliasWithObject({ idSrc: 'smartmeter.0.1-0:16_7_0__255.value', idDst: "alias.0.Strom.Smartmeter.value" raum: 'Wohnzimmer' */und hier dan beschreiben*/ });siehe Beispiel raum
-
@frana120500 Moin,
so 100% weiß ich es auch nicht, aber versuch doch mal so:
function createAliasWithObject({ idSrc, idDst, raum = undefined, */hier das undefined entfernen bei dem du es benötigst*/ gewerk = undefined, typeAlias = undefined, read = undefined, write = undefined, nameAlias = undefined, role = undefined, desc = undefined, min = undefined, max = undefined, unit = undefined, states = undefined }) { createAlias(idSrc, idDst,raum, gewerk,typeAlias, read, write, nameAlias, role, desc, min, max, unit, states); } createAliasWithObject({ idSrc: 'smartmeter.0.1-0:16_7_0__255.value', idDst: "alias.0.Strom.Smartmeter.value" raum: 'Wohnzimmer' */und hier dan beschreiben*/ });siehe Beispiel raum
@nordischerjung ja, das funktioniert. aber wie muss der Code aussehen, wenn ich einen zweiten Alias anlegen möchte? Dann legt er bei mir nur den letzten Eintrag an
-
@nordischerjung ja, das funktioniert. aber wie muss der Code aussehen, wenn ich einen zweiten Alias anlegen möchte? Dann legt er bei mir nur den letzten Eintrag an
ich habe das
= undefined
beim raum gelöscht, so dass oben nur noch stehtraum,der Code für den/das Alias sieht bei mir so aus
createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER1', idDst: 'alias.0.Garten.BewaesserungKreis1EIN', raum: 'Garten', idSrc: 'sonoff.0.Bewässerung.POWER2', idDst: 'alias.0.Garten.BewaesserungKreis1AUS', raum: 'Garten', idSrc: 'sonoff.0.Bewässerung.POWER3', idDst: 'alias.0.Garten.BewaesserungKreis2EIN', raum: 'Garten', idSrc: 'sonoff.0.Bewässerung.POWER4', idDst: 'alias.0.Garten.BewaesserungKreis2AUS', raum: 'Garten' -
ich habe das
= undefined
beim raum gelöscht, so dass oben nur noch stehtraum,der Code für den/das Alias sieht bei mir so aus
createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER1', idDst: 'alias.0.Garten.BewaesserungKreis1EIN', raum: 'Garten', idSrc: 'sonoff.0.Bewässerung.POWER2', idDst: 'alias.0.Garten.BewaesserungKreis1AUS', raum: 'Garten', idSrc: 'sonoff.0.Bewässerung.POWER3', idDst: 'alias.0.Garten.BewaesserungKreis2EIN', raum: 'Garten', idSrc: 'sonoff.0.Bewässerung.POWER4', idDst: 'alias.0.Garten.BewaesserungKreis2AUS', raum: 'Garten'@frana120500 sagte in Alias aus Liste erstellen:
Pro Alias 1 x , nicht mehere idSrc: da rein
createAliasWithObject({ -
@frana120500 sagte in Alias aus Liste erstellen:
Pro Alias 1 x , nicht mehere idSrc: da rein
createAliasWithObject({@glasfaser also so?
createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER1', idDst: 'alias.0.Garten.BewaesserungKreis1EIN', raum: 'Garten', createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER2', idDst: 'alias.0.Garten.BewaesserungKreis1AUS', raum: 'Garten', createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER3', idDst: 'alias.0.Garten.BewaesserungKreis2EIN', raum: 'Garten', createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER4', idDst: 'alias.0.Garten.BewaesserungKreis2AUS', raum: 'Garten' -
@glasfaser also so?
createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER1', idDst: 'alias.0.Garten.BewaesserungKreis1EIN', raum: 'Garten', createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER2', idDst: 'alias.0.Garten.BewaesserungKreis1AUS', raum: 'Garten', createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER3', idDst: 'alias.0.Garten.BewaesserungKreis2EIN', raum: 'Garten', createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER4', idDst: 'alias.0.Garten.BewaesserungKreis2AUS', raum: 'Garten'@frana120500 sagte in Alias aus Liste erstellen:
createAliasWithObject({
So ,
createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER1', idDst: 'alias.0.Garten.BewaesserungKreis1EIN', raum: 'Garten' });Komma am Ende raus und es schließen mit });
-
@frana120500 sagte in Alias aus Liste erstellen:
createAliasWithObject({
So ,
createAliasWithObject({ idSrc: 'sonoff.0.Bewässerung.POWER1', idDst: 'alias.0.Garten.BewaesserungKreis1EIN', raum: 'Garten' });Komma am Ende raus und es schließen mit });
@glasfaser ahhhh, die Kleinigkeiten. Jetzt gehts es. und den Block wiederhole ich halt für jedes Alias. Funzt. Danke
-
@glasfaser ahhhh, die Kleinigkeiten. Jetzt gehts es. und den Block wiederhole ich halt für jedes Alias. Funzt. Danke
-
Ich habe es mittlerweile hinbekommen, aus einer JSON Liste mit allen originalen DPs und weiteren Infos wie Name, Raum etc. vollautomatisch alle Alias einrichten zu lassen.
Bin noch bis nächste Woche im Urlaub und kann dann mein Skript posten
was ich mich noch frage: Ich habe das bisher über den Devices Adapter angelegt. Da kann ich ja recht einfach das Gerät austauschen wenn es defekt ist. Wie passe ich denn das Alias an wenn ich es mit dem Script hier erstellt habe?
Die Aliase die mit dem Script erstellt worden sind, tauchen zwar unter alias.0 auf, aber nicht im Devices Adapter. Muss ich da die RAW Daten vom Alias bearbeiten?
Oder steh ich grad auf dem Schlauch?
-
was ich mich noch frage: Ich habe das bisher über den Devices Adapter angelegt. Da kann ich ja recht einfach das Gerät austauschen wenn es defekt ist. Wie passe ich denn das Alias an wenn ich es mit dem Script hier erstellt habe?
Die Aliase die mit dem Script erstellt worden sind, tauchen zwar unter alias.0 auf, aber nicht im Devices Adapter. Muss ich da die RAW Daten vom Alias bearbeiten?
Oder steh ich grad auf dem Schlauch?
@frana120500 ich kann meine per Skript erstellten Alias im Menü unter dem Punkt Geräte anpassen.
Alternativ den alten Alias löschen und neu erstellen
-
@frana120500 sagte in Alias aus Liste erstellen:
Muss ich da die RAW Daten vom Alias bearbeiten?
theoretisch ja, würde ich sagen
@frana120500 sagte in Alias aus Liste erstellen:
den Devices Adapter
ich verwende den alias Manager, ist flexibler
-
Ich habe es mittlerweile hinbekommen, aus einer JSON Liste mit allen originalen DPs und weiteren Infos wie Name, Raum etc. vollautomatisch alle Alias einrichten zu lassen.
Bin noch bis nächste Woche im Urlaub und kann dann mein Skript posten
@Kuddel Kannst Du noch dein Script / Lösungsweg posten? Danke im Voraus :-)
-
@Kuddel Kannst Du noch dein Script / Lösungsweg posten? Danke im Voraus :-)
Hier mein Skript. Es funktioniert in meinen Augen sehr gut, hat aber bestimmt noch Verbesserungspotential