Artnet DMX module

Begonnen von zevnik, 17 Januar 2014, 00:54:32

Vorheriges Thema - Nächstes Thema

rudolfkoenig

1)
In the first round Dispatch() checks each $physicalmodule->{Clients}, if the coresponding $logicalmodule->{Match} matches the raw message. But in order to check this, $logicalmodule must be loaded.

If none of the already loaded modules feels responsible for a message, then the $physicalmodule->{MatchList} is examined. If an entry is matched here, then the corresponding (logical) module is loaded, and fed with the raw message.

For a simple Clients/MatchList example see the 00_ZWDongle.pm, and 10_ZWave.pm for a simple Match entry.
A lot more complex example is 00_CUL.pm with its clients.

2) the third parameter is a hash of additional readings for the logical device like RSSI.
3) correct, see above.
4) ParseFn should return the name (or list of names) of FHEM-Instances affected by the raw message. Or undef in the unlikely case that Match matches, but the module is not responsible. Or "UNDEFINED <define-data>" if the instance is not yet defined, but it could be created by autocreate.

macmattes

hallo bekomme das Modul nicht geladen, weil presets fehlen.
gibt's da nen trick?

Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 153, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 154, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 178, near "};"

zevnik

@macmattes: Ich habe jetzt meine Produktionversion aufgelladen. Kanst du noch einmal probieren?

Ob es geht noch immer nicht, dann sende mir bitte deine define line.

macmattes

hallo geht noch nicht

define artnet ARTNET 172.16.1.207 1,2,3,4,5,6

2014.04.26 13:33:12 0: Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 146, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 147, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 170, near "};"

zevnik

Wann passiert das?
Ist das beim senden des "artnet next" Kommando oder beim definieren des artnet?

zevnik

Noch eine Idee, kannst du die ARTNET.save File löschen (in FHEM/log)?

macmattes

Hallo der Fehler kommt direkt nach dem definieren in der set funktion,
wenn ich die genannten Zeilen auskommentiere, und einen Eintrag davon ändere. dann lässt sich dass Modul laden aber kein Preset speichern.
#$setOptions{ "preset_load:" . join(",", sort keys $hash->{PRESETS}) } = 0;   
#$setOptions{ "preset_remove:" . join(",", sort keys $hash->{PRESETS}) } = 0;
my @scenePresets = sort keys $hash->{PRESETS};  ->  my @scenePresets = "1,2,3"
einfach nur um dem futter zu geben.

die ARTNET.save hab ich nirgends gefunden weder im FHEM ordner noch im Log ordner, bei mir /var/log/fhem/

dass Modul versucht Presets zu laden die es noch nicht gibt, ich hatte zwischdurch mal dass Glück ein Presetsatz anzulegen, dann hab ich fhem gesichert und alles wieder zurückgeändert, beim laden kam der Fehler dann wieder.
wird die Artnet.save als Presetablage benutzt?

vielleicht hilft es ja einen Presetsatz beim definieren anzulegen? mit fiktiven werten.

zevnik

Genau so. ARTNET.save ist ein ablage für ARTNET Szenen (die kann mit next und prev rotieren).

So sieht mein ARTNET.save file. Es soll in die gleiche Mape wie fhem.save sein.
Ich will suche für die Fehler, aber bei mir, es funktioniert auch ohne ARTNET.save file.

Ich will ein Paar log werten noch eingeben und wenn Sie Zeit haben noch einmall probieren?

macmattes

hallo

hab die ARTNET.save mal nach /var/log/fhem/ und /usr/share/fhem/ kopieert, aber da lädt sich noch nichts, ich muss zu hause mal ins log schauen was genau passiert, melde mich dann wieder
wäre schon cool wenn ich dass Modul ans laufen bekomme

macmattes

hallo

define artnet ARTNET 172.16.1.207 1,2,3,4,5,6
Cannot load module ARTNET
reload 20_ARTNET
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 146, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 147, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 170, near "};"

ARTNET.save hab ich mehreren Ordnern probiert /var/log/fhem /usr/share/fhem usr/share/fhem/FHEM

anscheinend findet artnet die Datei nicht?
die rechte sind jeweils immer die selben wie für alle anderen Dateien

zevnik

Ich habe neue Version auf google code eingeladen. Habe ein Paar debug Infos eingelegt. Kanst du Artnet noch einmal definieren und senden debug log?

macmattes

#26
hi

hat leider nicht geholfen
das Modul lädt gar nicht erst

Error:Modul 20_ARTNET deactivated:
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 172, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 173, near "}) "
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 197, near "};"
Type of arg 1 to keys must be hash or array (not hash element) at /usr/share/fhem/FHEM/20_ARTNET.pm line 472, near "}) "

habe auch fhem mal in ein Debuglog umgeleitet, da kommt aber nichts an.


zevnik

Was für eine Version des Perl benutzen Sie? Wenn <5.14, dann sehe ich warum.
Ich habe nocheinmal eine neue Version auf google aufgeladen.

macmattes

ah so,
hatte noch perl 5.12 am laufen versuche es jetzt mal mit 5.18

macmattes