(Nachbemerkung: im Notfall geht übrigens auch immer noch knx_write direkt aus der translate-sub heraus. Unelegant, aber möglich.)
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: Logikprozessor.pl
Einklappen
X
-
Zitat von Fry Beitrag anzeigenich habe die Dokumentation des Logikprozessors nochmal geordnet zusammengeschrieben - das Meiste stammt aus dem Muster-Konfigurationsfile, lässt sich aber wohl so besser lesen.
MakkiEIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
-> Bitte KEINE PNs!
Kommentar
-
Zitat von makki Beitrag anzeigenIch würde anregen wollen, das eher ins Wiki (cometvisu.de, Domain-Name ist ja änderbar) zu packen, das findet in ein paar Monaten nach 75 Rückfragen hier sonst keiner mehr -> wir können da gerne einen Bereich für eröffnen (?)
VG, Fry
Kommentar
-
Unterhalb des Plugin Verzeichnis gibt es noch mal eines 'conf.d' (genauso wie auf dem WG). Dort liegen die entsprechenden Files zu jedem Plugin (welche die conf.d Sache unterstützen).
SourceForge.net Repository - [openautomation] Index of /wiregate/plugin/generic/conf.d
Kommentar
-
Dimmwert
Hi,
welche möglichleit habe ich einen Helligkeitswert auf den Bus zu senden.
Hier:
stair => { receive=>'7/6/1', transmit=>'7/2/1', delay=>3, translate => 1, debug=>1 },
hätte ich als ergebnis gerne zb. Heligkeitswert 126.
Ist das irgendwie möglich.
Und Später wenn der Aktor den Wert 126 bestätigt, über eine andere GA, würde ich diese gerne weiterverarbeiten.
Kommentar
-
Zitat von evilg Beitrag anzeigenHi,
welche möglichleit habe ich einen Helligkeitswert auf den Bus zu senden.
....
Was ist Heligkeitswert 126 ?
Wenn Du uns mitteilst welche Geräte Du zur Verfügung hast und was Du damit vorhast kann man Dir bestimmt helfen aber so wird das nix.
Gruß Plusch
Kommentar
-
Hab meinen Fehler schon selbst gefunden.
Mir gin es darum aus einem 1Bit Zeitversetzt 1Byte zu machen.
Ich bin aber immer von werten von 0-255 ausgegangen.
Scheinbar reicht es wenn ich 50 für 50% als translate definiere.
Hätte ich auch eher drauf kommen können.
Es ging um die ansteuerung eines Dali Gateways.
Mann hatte ich nen Brett vorm Kopf. ......
Kommentar
-
Andere Frage:
gibt es eine möglichkeit die receive GA nur auf einen bestimmten definierten Wert hören zu lassen?
Also so, dass die logik nur ausgeführt wird, wenn sagen wir 7/5/1 1byte 37 ist?
Bei mir sieht das so aus:
2013-01-12 23:50:08.327,Logikprozessor.pl,0.0.0 7/6/1:0 -> $logic{stair}{receive}(Logik) -> delay 1s ,0s, 2013-01-12 23:50:09.461,Logikprozessor.pl,$logic{stair}{trans mit}(Logik) -> 7/2/1:55 gesendet (delayed) ,0s,
2013-01-12 23:55:15.366,Logikprozessor.pl,0.0.0 7/6/1:1 -> $logic{stair}{receive}(Logik) -> delay 1s ,0s, 2013-01-12 23:55:16.500,Logikprozessor.pl,$logic{stair}{trans mit}(Logik) -> 7/2/1:55 gesendet (delayed) ,0s,
2013-01-13 00:04:12.270,Logikprozessor.pl,0.0.0 7/6/1:37 -> $logic{stair}{receive}(Logik) -> delay 1s ,0s, 2013-01-13 00:04:13.406,Logikprozessor.pl,$logic{stair}{trans mit}(Logik) -> 7/2/1:55 gesendet (delayed) ,0s,
Kommentar
-
Zitat von evilg Beitrag anzeigenAndere Frage:
gibt es eine möglichkeit die receive GA nur auf einen bestimmten definierten Wert hören zu lassen?
Also so, dass die logik nur ausgeführt wird, wenn sagen wir 7/5/1 1byte 37 ist?Code:...... translate => sub { return unless ($input == 37); ......[hier der Code oder Wert der ausgeführt werden soll]......
Gruss
Diego
Kommentar
-
Sagen wir weil ich blutiger Neuling bin was das WG und das Programmieren angeht.
Alles was ich bis jetzt kann, hab ich mir die letzten 2 Tage angelesen und durch ausprobieren herausgefunden.
Also verzeit mir die eine oder andere blöde Frage. :-)
Bis jetzt hat aber alles geklappt. Danke für die schnelle Hilfe.
Kommentar
-
Hab da noch nen problem.
ich habe 2 Treppenlicht logiken:
stair1 => { receive=>'7/6/1', transmit=>'7/2/1', delay=>2, translate => sub { return unless ($input == 1); 100}, debug=>1 },
stair2 => { receive=>'7/2/1', transmit=>'7/2/6', delay=>2, translate => sub { return unless ($input == 100); 1}, debug=>1 },
Klappt auch alles soweit.
Die 7/2/1 kommt auf dem Bus an, die stair2 erekennt die 7/2/1 100 und sagt mir auch dass die 7/2/6 nach 2 sek gesendet wurde.
Es kommt aber nichts auf dem Bus an.
Hier mal die Pluginlogdaten:
2013-01-13 20:54:31.515,Logikprozessor.pl,2 initialisiert, 0.0.0 7/6/1:1 -> $logic{stair1}{receive}(Logik) -> delay 2s ,0s,
2013-01-13 20:54:33.773,Logikprozessor.pl,$logic{stair1}{tran smit}(Logik) -> 7/2/1:100 gesendet (delayed) ,0s,
2013-01-13 20:54:33.996,Logikprozessor.pl,0.0.0 7/2/1:100.0 -> $logic{stair2}{receive}(Logik) -> delay 2s ,0.3s,
2013-01-13 20:54:36.272,Logikprozessor.pl,$logic{stair2}{tran smit}(Logik) -> 7/2/6:1 gesendet (delayed) ,0s,
In den Daemon Logdaten steht folgendes:
Jan 13 21:01:47 wiregate868 /usr/sbin/wiregated.pl: WARN - None or unsupported DPT: sent to 7/2/6 value 1
Scheinbar kommt er nicht mit den Datenpunkttyp klar. Ich hab aber keinen Plan wie ich ihm sagen kann um welchen DPT es sich handelt.
Bei EibD habe ich diese jedenfalls eingegeben.
Kommentar
Kommentar