Zurück   KNX-User-Forum > Öffentlicher Bereich > KNX EIB Forum > Code-Schnipsel
knx-user-forum - International KNX Award Winner 2010


Links
Kalender
Spende

Antwort
 
Themen-Optionen Ansicht
  #161  
Alt 12.01.2013, 23:25
Benutzer
 
Registriert seit: 12.12.2010
Ort: Essen
Beiträge: 38
evilg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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. ......
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #162  
Alt 13.01.2013, 00:00
Benutzer
 
Registriert seit: 12.12.2010
Ort: Essen
Beiträge: 38
evilg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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,

Geändert von evilg (13.01.2013 um 00:08 Uhr)
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #163  
Alt 13.01.2013, 00:20
Benutzer
 
Registriert seit: 27.12.2010
Beiträge: 260
Fechter65 sorgt für eine eindrucksvolle AtmosphäreFechter65 sorgt für eine eindrucksvolle AtmosphäreFechter65 sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat von evilg Beitrag anzeigen
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?
Weshalb kannst / willst Du dies nicht im Rahmen des Translate machen, als so bspw. so:
Code:
...... translate => sub { return unless ($input == 37); ......[hier der Code oder Wert der ausgeführt werden soll]......
?

Gruss
Diego
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #164  
Alt 13.01.2013, 20:46
Benutzer
 
Registriert seit: 12.12.2010
Ort: Essen
Beiträge: 38
evilg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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.
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #165  
Alt 13.01.2013, 21:06
Benutzer
 
Registriert seit: 12.12.2010
Ort: Essen
Beiträge: 38
evilg ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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.

Geändert von evilg (13.01.2013 um 21:10 Uhr)
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #166  
Alt 13.01.2013, 21:13
Fry Fry ist offline
Erfahrener Benutzer
 
Registriert seit: 14.12.2011
Ort: Hessen
Beiträge: 992
Fry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle Atmosphäre
Standard

Der Logikprozessor erwartet, dass alle GAs mit DPTSubId in /etc/wiregate/eibga.conf eingepflegt sind. Das habe ich so gemacht, damit die Logikformulierung einfacher werden kann. Außerdem ist das bei mir sowieso der Fall (ALLE GAs sind korrekt gepflegt, nicht nur die, die ich zufälligerweise tatsächlich im WG brauche). Ich habe irgendwo auch mal gepostet, wie ich das mache -> Suchfunktion, ansonsten nochmal fragen.
VG, sorry so knapp,
Fry
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #167  
Alt 13.01.2013, 23:20
Benutzerbild von multimedia
Benutzer
 
Registriert seit: 20.06.2008
Beiträge: 384
multimedia befindet sich auf einem aufstrebenden Ast
Standard

Hallo Fry,

habe heute meinen zweiten Wiregate Tag hinter mir und bin über einige Empfehlungen aus anderen Threads auf dein Tool gestossen...
Ich kann dir gar nicht sagen, wie super ich das finde!!!
Ganz grosse klasse - fantastische Arbeit.

Nur der Thread hier wird schon ein wenig lang zum Einlesen.
Aber nach ca. zwei Stunden (und den ersten 30 Posts) lief die erste Funktion.
Mein Feedback: Ich habe lange versucht das eingangs gepostete PlugIn zum Laufen zu bringen, und das wollte einfach nicht.
Erst als ich dann die aktuelle Version vom SVN geladen hatte hat es geklappt.

Sehr herzlichen Dank!
Christian
__________________
Chris von www.proknx.com
Neu: Das KNX-proServ Supportforum. Bitte möglichst die Produktfragen zu unserem iOS und Android Controller hier posten
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #168  
Alt 13.01.2013, 23:47
Fry Fry ist offline
Erfahrener Benutzer
 
Registriert seit: 14.12.2011
Ort: Hessen
Beiträge: 992
Fry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi Christian,
danke für dein Feedback, freut mich sehr. So soll es sein in einer Community: jeder profitiert von der Arbeit anderer.

Aktuell profitiere ich beispielsweise (natürlich neben Makkis Arbeit am wiregated.pl und ChrisMs Arbeit an der CometVisu) sehr von Jumis und yuhus Arbeit an der Ebus-Anbindung. Da freut es mich, wenn ich auch etwas an die Community zurückgeben kann.

Sieh dir gerne auch meine anderen Plugins an: Szenencontroller.pl, Ansagen.pl und Anwesenheitssimulation.pl.

In Vorbereitung - noch nicht ausreichend getestet - ist dann noch der selbstoptimierende Multi-PID-Heizungsregler (das "D" steht für den vorausschauenden, differenzierenden Teil und ist wichtig bei trägen Fussbodenheizungen). Der kommt wegen meiner Bauverzögerung vielleicht nicht mehr rechtzeitig für diesen Winter.

Have fun!
Fry
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #169  
Alt 25.01.2013, 21:30
Benutzer
 
Registriert seit: 20.06.2011
Ort: Osnabrück
Beiträge: 377
Hannatz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Fry,

ich bin endlich auch dazu gekommen Deinen Logiprozessor auszuprobieren, herzlichen Dank erst einmal für die tolle Arbeit!

Leider habe ich aber noch ein paar Probleme, hier daher erst einmal die Codeschnipsel (die .pl und .conf sind beide ganz frisch aus dem SVN gezogen und per TextWrangler per SFPT editiert).

Die .conf:
Code:
%logic=(

    TV_per_Licht => { receive=>'1/1/33', transmit=>['1/1/54','1/1/48'], translate => 1, debug=>1 },
    Fenster_Sued => { receive=>'1/1/34', transmit=>'1/1/48', translate => 1, debug=>1 },
    
    );
Die Plugin-Log sagt folgendes:
Code:
2013-01-25 21:04:00.700,Logikprozessor,2 initialisiert, ,0s,
2013-01-25 21:04:29.423,Logikprozessor,1.1.26 1/1/34: -> $logic{Fenster_Sued}{receive}(Logik) -> 1/1/48:1 gesendet ,0.3s,
2013-01-25 21:04:32.361,Logikprozessor,1.1.26 1/1/34: -> $logic{Fenster_Sued}{receive}(Logik) -> 1/1/48:1 gesendet ,0.3s,
2013-01-25 21:04:34.676,Googleweather,1,1.8s,
2013-01-25 21:16:04.796,Logikprozessor,2 initialisiert, ,0.3s,
2013-01-25 21:17:02.950,Logikprozessor,2 initialisiert, 1.1.26 1/1/34: -> $logic{Fenster_Sued}{receive}(Logik) -> 1/1/48:1 gesendet ,0.3s,
2013-01-25 21:17:06.183,Logikprozessor,1.1.26 1/1/34: -> $logic{Fenster_Sued}{receive}(Logik) -> 1/1/48:1 gesendet ,0.3s,
2013-01-25 21:18:21.363,Logikprozessor,1.1.26 1/1/34: -> $logic{Fenster_Sued}{receive}(Logik) -> 1/1/48:1 gesendet ,0.3s,
2013-01-25 21:18:23.391,Logikprozessor,1.1.26 1/1/34: -> $logic{Fenster_Sued}{receive}(Logik) -> 1/1/48:1 gesendet ,0.3s,
Und nun das KNX-Log
Code:
2013-01-25 17:11:07.671,A_GroupValue_Write,1.1.254,1/1/48,01,,,,0,low,7,T_DATA_XXX_REQ,0
2013-01-25 20:45:20.135,A_GroupValue_Write,1.1.254,1/1/48,00,,,,0,low,7,T_DATA_XXX_REQ,0
2013-01-25 21:17:47.231,A_GroupValue_Write,1.1.254,1/1/48,01,,,,0,low,7,T_DATA_XXX_REQ,0
2013-01-25 21:17:50.800,A_GroupValue_Write,1.1.254,1/1/48,00,,,,0,low,7,T_DATA_XXX_REQ,0
Ich habe das Gefühl, dass die transmit nicht sauber ausgeführt wird. Zum Vergeich habe ich per CV die gleiche Aktion auf der 1/1/48 ausgelöst, das funktioniert und wird auch entsprechend im KNX mitgeloggt. Insofern kann ich eine falsche GA ausschliessen

Ne Idee was ich falsch mache? Die eibga.conf ist ok, alle diese Adressen sind dort eingetragen...

Und wo ich schon dabei bin, kann ich in dem Plugin auch auch Werte einer Szene horchen und bspw. bei der 1/0/0 nur bei Wert 11 reagieren?

Danke & Gruß,
Hannatz
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #170  
Alt 25.01.2013, 22:53
Fry Fry ist offline
Erfahrener Benutzer
 
Registriert seit: 14.12.2011
Ort: Hessen
Beiträge: 992
Fry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle AtmosphäreFry sorgt für eine eindrucksvolle Atmosphäre
Standard

Hannatz -

die beiden Logs scheinen nicht zusammen zu gehören, sieh mal auf die Uhrzeiten.

eibga.conf muss eine DPTSubId für die benutzten GAs enthalten (nur die liest der Logikprozessor aus).

Werte einer Szene: ja, das geht mit einem einfachen if() im translate. Beachte dass eine Szenen-GA die DPTSubId 5.010 hat und die übertragene Nummer die Nummer der Szene minus 1 ist (also für Szene 11 wird eine 10 ankommen).

VG, Fry
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort

Stichworte
engine, logic, logik, logikprozessor, multifunktionsgateway, plugin, wiregate, wiregate-plugin

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[WireGate-Plugin] Neues Plugin: Universeller Szenencontroller Fry Code-Schnipsel 9 15.11.2012 23:07
[WireGate-Plugin] Decoder Plugin zum Haustüröffnen etc. emax WireGate 13 20.10.2012 20:03
Erstmalige Inbetriebnahme Wiregate, erstes Plugin Fechter65 WireGate 10 05.07.2012 08:35
[WireGate-Plugin] Neues Plugin: Universeller Translator Fry Code-Schnipsel 2 05.05.2012 22:10
Plugin startet, obwohl subskribierte GA auskommentiert Patholog WireGate 5 08.11.2011 04:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:30 Uhr.



SEO by vBSEO