NEWS
blockly eleganter machen
-
@dos1973 also so in der Art:
-
ich bekomme es nicht hin, auch mit deinem Bsp sind offline und online die gleichen Inhalte?
Und ich bekomme den "friendly" Name nicht angezeigt.
*Ursprüngliche Begeisterung schwindet langsam in Ernüchterung.
-
@dos1973 pack mal ein paar Debug Ausgaben rein, dann findest Du sicherlich den Fehler. Ich kann wie gesagt mangels Shellys nicht selbst testen
-
@Ahnungsbefreit
heute nicht mehr... morgen wieder.
keine Lust mehr, habe mein Ursprungs script erstmal Wieder reaktiviert. Ist zwar ellenlang aber geht -
@dos1973 Ich habe das mal am Beispiel HOMEMATIC Geräte umgesetzt, da ich ja wie erwähnt kein Shelly nutze. Es wurde noch etwas komplizierter, um den Klartextnamen aus der ID des Gerätes zu bekommen aber sonst funktioniert meine Lösung von oben und sollte auch leicht auf Shelly anpassbar sein.
Die Javascript Funktion ist nur ein Einzeiler (danke @paul53 dafür in einem anderen Thread) mit Inhalt:
return getObject(id);
Falls gewünscht, kann ich das ganze Script hier auch hochladen.
Ich werde im nächsten Schritt die unschöne Textliste (auch noch mit Komma am Anfang! :-)) gegen ein JSON ersetzen, das man so direkt in die VIS einbinden kann. So etwas brauche ich sowieso...
-
@Ahnungsbefreit ja liebend gerne
oha, mit json wollte ich dann auch irgendwann einsteigen, die Textlisten will ich auch loswerden... -
Ist die ParentID dann der Name vom Homematicgerät?
-
@David-G In meinem Setup, ja und auch bei Dir sollte "Sensor_Garagentor" rauskommen
-
-
@dos1973 So, habe mal statt Text das JSON gebaut. Es wird am Ende in UnreachJSON (das muss als Zeichenkette angelegt werden) geschrieben und das kann man in der VIS verwenden:
-
@dos1973 In meinem Setup steht der Name des Geräts im "Klartext" (nicht wirklich, ich verwende Kürzel der Form Raum-Gerät, hier BUR(Büro) RAU(Rauchmelder)) und da UNREACH im Channel 0 darunter steht, entferne ich den Teil "0.UNREACH" am Ende. Damit habe ich den Namen des übergeordneten Geräts und über "common.name" dessen Namen:
-
@Ahnungsbefreit
das funktioniert beim 1A mit meinen Homematic -
ich finde dieses "GetObjectbyID" nicht.
Die JS Funktion habe ich am Anfang des Blockly eingefügt.kannst mir noch ein schubs geben, Danke
-
@dos1973 Das ist eine selbst definierte JavaScript-Funktion wie oben beschrieben:
Bei "etwas tun" kommt "GetObjectbyID" rein, dann auf das Zahnrad klicken und einen Parameter namens "id" definieren ("Variable x" nach rechts auf Parameter ziehen und "x" in "id" umbenennen). Dann auf "..." klicken und statt dem vorgegeben "return" folgenden Text einsetzen:
return getObject(id);
-
@dos1973 Die JavaScript Funktion selbst kann irgendwo im selben Script stehen
-
@Ahnungsbefreit
ok hab's gefunden -
-
@Ahnungsbefreit
soweit bin ich noch lange nicht... bei mir läuft noch nix
ich hab stunden verbraucht und verstehe es einfach nicht... -
@dos1973 Was versucht Du jetzt zu machen? Für Shelly anpassen? Wenn ja, dann poste doch bitte mal den Namen eines Objektes, das Du abfragen willst hier, damit ich die Struktur sehen kann
-
@Ahnungsbefreit
hier mal ein json download