NEWS
Dali4Net Modbus
-
Hi,
habe zwar kein Dali aber ich denke mit allen Einträgen bei Holding bist du falsch da du dort auch Schreibbare Register eingetragen hast.
Woher hast du die Infoe ob Unsigned 16 oder 32 ?
Ich würde im ersten Schritt alle Register wieder löschen und dann "nur" z.B. das Register 9000 oder 9100 bei Eingangsregister eintragen. Loglevel für den Modbus Adapter auf Debug und dann mal schauen was im Log steht. Kommt nichts oder es gibt einen Error kann man:
a) das Register mal bei Holding eintragen oder
b) mit den Einstellungen für das Register experimentieren. Also 16 Bit, 32 bit etc. wenn man nicht genau weiß was dahin gehört.@wendy2702
Danke für diesen Tipp!
Bekomme nun die Helligkeit der Leuchte ausgelesen, wenn ich es bei Holding eintrage.
Typ ist Signed 16bit (Big Endian)Wie gehe ich mit den read&write Einträgen um?
-
Wie ich es sehe hast du bei Holding Register die "100" eingetragen, welche laut log scheinbar nicht funktioniert:
"Illegal Data Address".
Da es sich bei der "100" laut Anleitung wohl um ein Schreibregister handelt muss es wohl zu den Eingangsregistern.
-
Ne sicher nicht. Hab alles ausprobiert. :D
Klar müsste es 1 Bit sein aber wo kann man das einstellen?Ich hab inzwischen das hier gefunden:
Link Loxone ForumHier wird schön erklärt wie ein Befehl nachher aussieht bzw wie er zusammen gesetzt ist.
Hab das auch mal mit Wireshark gemacht und mir das herausgefiltert.
Allerdings weiß ich nicht, wie ich das in den Adapter übertrage. -
Für diejenigen, die dieses Thema per Suche finden:
Ich hab das inzwischen so gelöst, dass ich die Befehle per JavaScript rausschicke.
Das Skript für die Datenpunkte://Datenpunkte erstellen für Dali4Net var A0 = "javascript.0.Dali.Bus0.Lampen.A00"; var A1 = "javascript.0.Dali.Bus0.Lampen.A01"; var A2 = "javascript.0.Dali.Bus0.Lampen.A02"; var A3 = "javascript.0.Dali.Bus0.Lampen.A03"; var A4 = "javascript.0.Dali.Bus0.Lampen.A04"; var A5 = "javascript.0.Dali.Bus0.Lampen.A05"; var A6 = "javascript.0.Dali.Bus0.Lampen.A06"; var A7 = "javascript.0.Dali.Bus0.Lampen.A07"; var A8 = "javascript.0.Dali.Bus0.Lampen.A08"; var A9 = "javascript.0.Dali.Bus0.Lampen.A09"; var A10 = "javascript.0.Dali.Bus0.Lampen.A10"; var A11 = "javascript.0.Dali.Bus0.Lampen.A11"; var A12 = "javascript.0.Dali.Bus0.Lampen.A12"; var A13 = "javascript.0.Dali.Bus0.Lampen.A13"; var A14 = "javascript.0.Dali.Bus0.Lampen.A14"; var A15 = "javascript.0.Dali.Bus0.Lampen.A15"; var A16 = "javascript.0.Dali.Bus0.Lampen.A16"; var A17 = "javascript.0.Dali.Bus0.Lampen.A17"; var A18 = "javascript.0.Dali.Bus0.Lampen.A18"; var A19 = "javascript.0.Dali.Bus0.Lampen.A19"; var A20 = "javascript.0.Dali.Bus0.Lampen.A20"; var A21 = "javascript.0.Dali.Bus0.Lampen.A21"; var A22 = "javascript.0.Dali.Bus0.Lampen.A22"; var A23 = "javascript.0.Dali.Bus0.Lampen.A23"; var A24 = "javascript.0.Dali.Bus0.Lampen.A24"; var A25 = "javascript.0.Dali.Bus0.Lampen.A25"; var A26 = "javascript.0.Dali.Bus0.Lampen.A26"; var A27 = "javascript.0.Dali.Bus0.Lampen.A27"; var A28 = "javascript.0.Dali.Bus0.Lampen.A28"; var A29 = "javascript.0.Dali.Bus0.Lampen.A29"; var A30 = "javascript.0.Dali.Bus0.Lampen.A30"; var A31 = "javascript.0.Dali.Bus0.Lampen.A31"; var A32 = "javascript.0.Dali.Bus0.Lampen.A32"; var A33 = "javascript.0.Dali.Bus0.Lampen.A33"; var A34 = "javascript.0.Dali.Bus0.Lampen.A34"; var A35 = "javascript.0.Dali.Bus0.Lampen.A35"; var A36 = "javascript.0.Dali.Bus0.Lampen.A36"; var A37 = "javascript.0.Dali.Bus0.Lampen.A37"; var A38 = "javascript.0.Dali.Bus0.Lampen.A38"; var A39 = "javascript.0.Dali.Bus0.Lampen.A39"; var A40 = "javascript.0.Dali.Bus0.Lampen.A40"; var A41 = "javascript.0.Dali.Bus0.Lampen.A41"; var A42 = "javascript.0.Dali.Bus0.Lampen.A42"; var A43 = "javascript.0.Dali.Bus0.Lampen.A43"; var A44 = "javascript.0.Dali.Bus0.Lampen.A44"; var A45 = "javascript.0.Dali.Bus0.Lampen.A45"; var A46 = "javascript.0.Dali.Bus0.Lampen.A46"; var A47 = "javascript.0.Dali.Bus0.Lampen.A47"; var A48 = "javascript.0.Dali.Bus0.Lampen.A48"; var A49 = "javascript.0.Dali.Bus0.Lampen.A49"; var A50 = "javascript.0.Dali.Bus0.Lampen.A50"; var A51 = "javascript.0.Dali.Bus0.Lampen.A51"; var A52 = "javascript.0.Dali.Bus0.Lampen.A52"; var A53 = "javascript.0.Dali.Bus0.Lampen.A53"; var A54 = "javascript.0.Dali.Bus0.Lampen.A54"; var A55 = "javascript.0.Dali.Bus0.Lampen.A55"; var A56 = "javascript.0.Dali.Bus0.Lampen.A56"; var A57 = "javascript.0.Dali.Bus0.Lampen.A57"; var A58 = "javascript.0.Dali.Bus0.Lampen.A58"; var A59 = "javascript.0.Dali.Bus0.Lampen.A59"; var A60 = "javascript.0.Dali.Bus0.Lampen.A60"; var A61 = "javascript.0.Dali.Bus0.Lampen.A61"; var A62 = "javascript.0.Dali.Bus0.Lampen.A62"; var A63 = "javascript.0.Dali.Bus0.Lampen.A63"; var G0 = "javascript.0.Dali.Bus0.Gruppen.G00"; var G1 = "javascript.0.Dali.Bus0.Gruppen.G01"; var G2 = "javascript.0.Dali.Bus0.Gruppen.G02"; var G3 = "javascript.0.Dali.Bus0.Gruppen.G03"; var G4 = "javascript.0.Dali.Bus0.Gruppen.G04"; var G5 = "javascript.0.Dali.Bus0.Gruppen.G05"; var G6 = "javascript.0.Dali.Bus0.Gruppen.G06"; var G7 = "javascript.0.Dali.Bus0.Gruppen.G07"; var G8 = "javascript.0.Dali.Bus0.Gruppen.G08"; var G9 = "javascript.0.Dali.Bus0.Gruppen.G09"; var G10 = "javascript.0.Dali.Bus0.Gruppen.G10"; var G11 = "javascript.0.Dali.Bus0.Gruppen.G11"; var G12 = "javascript.0.Dali.Bus0.Gruppen.G12"; var G13 = "javascript.0.Dali.Bus0.Gruppen.G13"; var G14 = "javascript.0.Dali.Bus0.Gruppen.G14"; var G15 = "javascript.0.Dali.Bus0.Gruppen.G15"; var S0 = "javascript.0.Dali.Bus0.Szenen.S00"; var S1 = "javascript.0.Dali.Bus0.Szenen.S01"; var S2 = "javascript.0.Dali.Bus0.Szenen.S02"; var S3 = "javascript.0.Dali.Bus0.Szenen.S03"; var S4 = "javascript.0.Dali.Bus0.Szenen.S04"; var S5 = "javascript.0.Dali.Bus0.Szenen.S05"; var S6 = "javascript.0.Dali.Bus0.Szenen.S06"; var S7 = "javascript.0.Dali.Bus0.Szenen.S07"; var S8 = "javascript.0.Dali.Bus0.Szenen.S08"; var S9 = "javascript.0.Dali.Bus0.Szenen.S09"; var S10 = "javascript.0.Dali.Bus0.Szenen.S10"; var S11 = "javascript.0.Dali.Bus0.Szenen.S11"; var S12 = "javascript.0.Dali.Bus0.Szenen.S12"; var S13 = "javascript.0.Dali.Bus0.Szenen.S13"; var S14 = "javascript.0.Dali.Bus0.Szenen.S14"; var S15 = "javascript.0.Dali.Bus0.Szenen.S15"; var Broadcast = "javascript.0.Dali.Bus0.Gruppen.Broadcast"; createState(A0,{ name: "Lampe 0", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A1,{ name: "Lampe 1", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A2,{ name: "Lampe 2", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A3,{ name: "Lampe 3", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A4,{ name: "Lampe 4", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A5,{ name: "Lampe 5", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A6,{ name: "Lampe 6", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A7,{ name: "Lampe 7", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A8,{ name: "Lampe 8", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A9,{ name: "Lampe 9", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A10,{ name: "Lampe 10", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A11,{ name: "Lampe 11", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A12,{ name: "Lampe 12", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A13,{ name: "Lampe 13", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A14,{ name: "Lampe 14", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A15,{ name: "Lampe 15", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A16,{ name: "Lampe 16", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A17,{ name: "Lampe 17", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A18,{ name: "Lampe 18", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A19,{ name: "Lampe 19", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A20,{ name: "Lampe 20", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A21,{ name: "Lampe 21", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A22,{ name: "Lampe 22", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A23,{ name: "Lampe 23", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A24,{ name: "Lampe 24", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A25,{ name: "Lampe 25", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A26,{ name: "Lampe 26", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A27,{ name: "Lampe 27", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A28,{ name: "Lampe 28", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A29,{ name: "Lampe 29", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A30,{ name: "Lampe 30", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A31,{ name: "Lampe 31", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A32,{ name: "Lampe 32", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A33,{ name: "Lampe 33", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A34,{ name: "Lampe 34", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A35,{ name: "Lampe 35", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A36,{ name: "Lampe 36", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A37,{ name: "Lampe 37", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A38,{ name: "Lampe 38", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A39,{ name: "Lampe 39", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A40,{ name: "Lampe 40", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A41,{ name: "Lampe 41", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A42,{ name: "Lampe 42", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A43,{ name: "Lampe 43", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A44,{ name: "Lampe 44", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A45,{ name: "Lampe 45", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A46,{ name: "Lampe 46", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A47,{ name: "Lampe 47", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A48,{ name: "Lampe 48", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A49,{ name: "Lampe 49", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A50,{ name: "Lampe 50", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A51,{ name: "Lampe 51", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A52,{ name: "Lampe 52", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A53,{ name: "Lampe 53", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A54,{ name: "Lampe 54", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A55,{ name: "Lampe 55", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A56,{ name: "Lampe 56", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A57,{ name: "Lampe 57", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A58,{ name: "Lampe 58", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A59,{ name: "Lampe 59", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A60,{ name: "Lampe 60", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A61,{ name: "Lampe 61", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A62,{ name: "Lampe 62", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(A63,{ name: "Lampe 63", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G0,{ name: "Gruppe 0", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G1,{ name: "Gruppe 1", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G2,{ name: "Gruppe 2", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G3,{ name: "Gruppe 3", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G4,{ name: "Gruppe 4", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G5,{ name: "Gruppe 5", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G6,{ name: "Gruppe 6", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G7,{ name: "Gruppe 7", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G8,{ name: "Gruppe 8", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G9,{ name: "Gruppe 9", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G10,{ name: "Gruppe 10", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G11,{ name: "Gruppe 11", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G12,{ name: "Gruppe 12", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G13,{ name: "Gruppe 13", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G14,{ name: "Gruppe 14", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(G15,{ name: "Gruppe 15", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" }); createState(S0,{ name: "Szene 0", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S1,{ name: "Szene 1", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S2,{ name: "Szene 2", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S3,{ name: "Szene 3", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S4,{ name: "Szene 4", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S5,{ name: "Szene 5", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S6,{ name: "Szene 6", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S7,{ name: "Szene 7", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S8,{ name: "Szene 8", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S9,{ name: "Szene 9", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S10,{ name: "Szene 10", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S11,{ name: "Szene 11", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S12,{ name: "Szene 12", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S13,{ name: "Szene 13", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S14,{ name: "Szene 14", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(S15,{ name: "Szene 15", role: "state", type: "boolean", read: true, write: true, def: false, }); createState(Broadcast,{ name: "Broadcast", role: "state", type: "number", read: true, write: true, min: 0, max: 100, def: 0, unit: "%" });Und das Skript für die Befehle:
var ip = '192.168.178.36'; //IP Adresse Dali4Net var port = 502; //Modbus Port var BusNr = 0x01; //Bus 0 = 0x01, Bus 1 = 0x02, Bus 2 = 0x04 , Bus 3 = 0x08 var A0 = "javascript.0.Dali.Bus0.Lampen.A00"; var A1 = "javascript.0.Dali.Bus0.Lampen.A01"; var A2 = "javascript.0.Dali.Bus0.Lampen.A02"; var A3 = "javascript.0.Dali.Bus0.Lampen.A03"; var A4 = "javascript.0.Dali.Bus0.Lampen.A04"; var A5 = "javascript.0.Dali.Bus0.Lampen.A05"; var A6 = "javascript.0.Dali.Bus0.Lampen.A06"; var A7 = "javascript.0.Dali.Bus0.Lampen.A07"; var A8 = "javascript.0.Dali.Bus0.Lampen.A08"; var A9 = "javascript.0.Dali.Bus0.Lampen.A09"; var A10 = "javascript.0.Dali.Bus0.Lampen.A10"; var A11 = "javascript.0.Dali.Bus0.Lampen.A11"; var A12 = "javascript.0.Dali.Bus0.Lampen.A12"; var A13 = "javascript.0.Dali.Bus0.Lampen.A13"; var A14 = "javascript.0.Dali.Bus0.Lampen.A14"; var A15 = "javascript.0.Dali.Bus0.Lampen.A15"; var A16 = "javascript.0.Dali.Bus0.Lampen.A16"; var A17 = "javascript.0.Dali.Bus0.Lampen.A17"; var A18 = "javascript.0.Dali.Bus0.Lampen.A18"; var A19 = "javascript.0.Dali.Bus0.Lampen.A19"; var A20 = "javascript.0.Dali.Bus0.Lampen.A20"; var A21 = "javascript.0.Dali.Bus0.Lampen.A21"; var A22 = "javascript.0.Dali.Bus0.Lampen.A22"; var A23 = "javascript.0.Dali.Bus0.Lampen.A23"; var A24 = "javascript.0.Dali.Bus0.Lampen.A24"; var A25 = "javascript.0.Dali.Bus0.Lampen.A25"; var A26 = "javascript.0.Dali.Bus0.Lampen.A26"; var A27 = "javascript.0.Dali.Bus0.Lampen.A27"; var A28 = "javascript.0.Dali.Bus0.Lampen.A28"; var A29 = "javascript.0.Dali.Bus0.Lampen.A29"; var A30 = "javascript.0.Dali.Bus0.Lampen.A30"; var A31 = "javascript.0.Dali.Bus0.Lampen.A31"; var A32 = "javascript.0.Dali.Bus0.Lampen.A32"; var A33 = "javascript.0.Dali.Bus0.Lampen.A33"; var A34 = "javascript.0.Dali.Bus0.Lampen.A34"; var A35 = "javascript.0.Dali.Bus0.Lampen.A35"; var A36 = "javascript.0.Dali.Bus0.Lampen.A36"; var A37 = "javascript.0.Dali.Bus0.Lampen.A37"; var A38 = "javascript.0.Dali.Bus0.Lampen.A38"; var A39 = "javascript.0.Dali.Bus0.Lampen.A39"; var A40 = "javascript.0.Dali.Bus0.Lampen.A40"; var A41 = "javascript.0.Dali.Bus0.Lampen.A41"; var A42 = "javascript.0.Dali.Bus0.Lampen.A42"; var A43 = "javascript.0.Dali.Bus0.Lampen.A43"; var A44 = "javascript.0.Dali.Bus0.Lampen.A44"; var A45 = "javascript.0.Dali.Bus0.Lampen.A45"; var A46 = "javascript.0.Dali.Bus0.Lampen.A46"; var A47 = "javascript.0.Dali.Bus0.Lampen.A47"; var A48 = "javascript.0.Dali.Bus0.Lampen.A48"; var A49 = "javascript.0.Dali.Bus0.Lampen.A49"; var A50 = "javascript.0.Dali.Bus0.Lampen.A50"; var A51 = "javascript.0.Dali.Bus0.Lampen.A51"; var A52 = "javascript.0.Dali.Bus0.Lampen.A52"; var A53 = "javascript.0.Dali.Bus0.Lampen.A53"; var A54 = "javascript.0.Dali.Bus0.Lampen.A54"; var A55 = "javascript.0.Dali.Bus0.Lampen.A55"; var A56 = "javascript.0.Dali.Bus0.Lampen.A56"; var A57 = "javascript.0.Dali.Bus0.Lampen.A57"; var A58 = "javascript.0.Dali.Bus0.Lampen.A58"; var A59 = "javascript.0.Dali.Bus0.Lampen.A59"; var A60 = "javascript.0.Dali.Bus0.Lampen.A60"; var A61 = "javascript.0.Dali.Bus0.Lampen.A61"; var A62 = "javascript.0.Dali.Bus0.Lampen.A62"; var A63 = "javascript.0.Dali.Bus0.Lampen.A63"; var G0 = "javascript.0.Dali.Bus0.Gruppen.G00"; var G1 = "javascript.0.Dali.Bus0.Gruppen.G01"; var G2 = "javascript.0.Dali.Bus0.Gruppen.G02"; var G3 = "javascript.0.Dali.Bus0.Gruppen.G03"; var G4 = "javascript.0.Dali.Bus0.Gruppen.G04"; var G5 = "javascript.0.Dali.Bus0.Gruppen.G05"; var G6 = "javascript.0.Dali.Bus0.Gruppen.G06"; var G7 = "javascript.0.Dali.Bus0.Gruppen.G07"; var G8 = "javascript.0.Dali.Bus0.Gruppen.G08"; var G9 = "javascript.0.Dali.Bus0.Gruppen.G09"; var G10 = "javascript.0.Dali.Bus0.Gruppen.G10"; var G11 = "javascript.0.Dali.Bus0.Gruppen.G11"; var G12 = "javascript.0.Dali.Bus0.Gruppen.G12"; var G13 = "javascript.0.Dali.Bus0.Gruppen.G13"; var G14 = "javascript.0.Dali.Bus0.Gruppen.G14"; var G15 = "javascript.0.Dali.Bus0.Gruppen.G15"; var S0 = "javascript.0.Dali.Bus0.Szenen.S00"; var S1 = "javascript.0.Dali.Bus0.Szenen.S01"; var S2 = "javascript.0.Dali.Bus0.Szenen.S02"; var S3 = "javascript.0.Dali.Bus0.Szenen.S03"; var S4 = "javascript.0.Dali.Bus0.Szenen.S04"; var S5 = "javascript.0.Dali.Bus0.Szenen.S05"; var S6 = "javascript.0.Dali.Bus0.Szenen.S06"; var S7 = "javascript.0.Dali.Bus0.Szenen.S07"; var S8 = "javascript.0.Dali.Bus0.Szenen.S08"; var S9 = "javascript.0.Dali.Bus0.Szenen.S09"; var S10 = "javascript.0.Dali.Bus0.Szenen.S10"; var S11 = "javascript.0.Dali.Bus0.Szenen.S11"; var S12 = "javascript.0.Dali.Bus0.Szenen.S12"; var S13 = "javascript.0.Dali.Bus0.Szenen.S13"; var S14 = "javascript.0.Dali.Bus0.Szenen.S14"; var S15 = "javascript.0.Dali.Bus0.Szenen.S15"; var Broadcast = "javascript.0.Dali.Bus0.Gruppen.Broadcast"; var net = require('net'); function CreateLampHex(value, name){ // Erstelle Transaction ID var transid = Transaction_Identifier(); //Lichtnummer in Hex umwandeln var light = getLightnumber(name); //Prozentwert in Hex umwandeln const brightnessDez = Math.round((value*254)/100); const brightnessHex = brightnessDez.toString(16); const level = "0x" + brightnessHex //Hex Nachricht erstellen var hex_data = [transid,level,"0x00","0x00","0x00","0x17",BusNr,"0x17","0x00","0x65","0x00","0x05","0x00","0x64","0x00","0x06","0x0c","0x12","0x5f","0x00","0x03","0x00","0x00",light,level,"0x00","0x00","0x00","0x00"] var data = Buffer.from(hex_data); sendMessage(ip, port, data); } function CreateGroupHex(value, name){ // Erstelle Transaction ID var transid = Transaction_Identifier(); //Gruppennummer in Hex umwandeln var group = getGroupnumber(name); //Prozentwert in Hex umwandeln const brightnessDez = Math.round((value*254)/100); const brightnessHex = brightnessDez.toString(16); const level = "0x" + brightnessHex //Hex Nachricht erstellen var hex_data = [transid,level,"0x00","0x00","0x00","0x17",BusNr,"0x17","0x00","0x65","0x00","0x05","0x00","0x64","0x00","0x06","0x0c","0x12","0x5f","0x00","0x03","0x00","0x00",group,level,"0x00","0x00","0x00","0x00"] var data = Buffer.from(hex_data); sendMessage(ip, port, data); } function CreateSceneHex(value, name){ // Erstelle Transaction ID var transid = Transaction_Identifier(); //Szenennummer in Hex umwandeln var scene = getSceneNumber(name); //Hex Nachricht erstellen var hex_data = [transid,scene,"0x00","0x00","0x00","0x17",BusNr,"0x17","0x00","0x65","0x00","0x05","0x00","0x64","0x00","0x06","0x0c","0x12","0x5f","0x00","0x03","0x00","0x00","0x00",scene,"0x00","0x00","0x00","0x00"] var data = Buffer.from(hex_data); sendMessage(ip, port, data); } function CreateBroadcastHex(value){ // Erstelle Transaction ID var transid = Transaction_Identifier(); //Lichtnummer in Hex umwandeln var light = "0xfe"; //Prozentwert in Hex umwandeln const brightnessDez = Math.round((value*254)/100); const brightnessHex = brightnessDez.toString(16); const level = "0x" + brightnessHex //Hex Nachricht erstellen var hex_data = [transid,level,"0x00","0x00","0x00","0x17",BusNr,"0x17","0x00","0x65","0x00","0x05","0x00","0x64","0x00","0x06","0x0c","0x12","0x5f","0x00","0x03","0x00","0x00",light,level,"0x00","0x00","0x00","0x00"] var data = Buffer.from(hex_data); sendMessage(ip, port, data); } function sendMessage(host, port, message) { var client = net.connect({host:host, port: port}, function () { // 'connect' listener log('connected to server!'); log("Message " + JSON.stringify(message)) client.write(message); }); client.on('data', function (data) { log("Response " + data.toJSON().data) client.end(); }); client.on('end', function () { log('disconnected from server'); }); client.on('error', function (error) { console.error('error: ' + error); client.end(); }); } function Transaction_Identifier (){ const min = 0; const max = 253; const x = Math.floor(Math.random() * (max - min)) + min; return "0x" + x.toString(16); } function getLightnumber(name){ var zahl = parseFloat(name.match(/\d+\.?\d*/gi)[0]); return (zahl*2).toString(16); } function getGroupnumber(name){ var zahl = parseFloat(name.match(/\d+\.?\d*/gi)[0]); return "0x" + ((zahl*2)+128).toString(16); } function getSceneNumber(name){ var zahl = parseFloat(name.match(/\d+\.?\d*/gi)[0]); return "0x" + (zahl+16).toString(16); } on({id: A0 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A1 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A2 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A3 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A4 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A5 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A6 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A7 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A8 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A9 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A10 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A11 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A12 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A13 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A14 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A15 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A16 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A17 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A18 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A19 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A20 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A21 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A22 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A23 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A24 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A25 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A26 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A27 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A28 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A29 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A30 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A31 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A32 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A33 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A34 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A35 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A36 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A37 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A38 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A39 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A40 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A41 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A42 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A42 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A43 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A44 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A45 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A46 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A47 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A48 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A49 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A50 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A51 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A52 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A53 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A54 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A55 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A56 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A57 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A58 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A59 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A60 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A61 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A62 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: A63 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateLampHex(value, name); }); on({id: G0 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G1 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G2 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G3 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G4 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G5 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G6 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G7 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G8 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G9 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G10 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G11 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G12 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G13 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G14 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: G15 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateGroupHex(value, name); }); on({id: S0 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S1 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S0 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S2 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S3 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S4 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S5 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S6 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S7 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S8 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S9 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S10 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S11 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S12 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S13 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S14 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: S15 , change: "any"},function (obj) { var value = obj.state.val; var name = obj.common.name; CreateSceneHex(value, name); }); on({id: Broadcast , change: "any"},function (obj) { var value = obj.state.val; CreateBroadcastHex(value); });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden


